#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int m,n,ans;
int mat[101][101],vis[101][101];
bool v[101][101];
int Dfs(int x,int y)
{
if(x<1||y<1||x>m||y>n)
return 0;
if(x==m&&y==n)
return 1;
if(v[x][y]!=false)
return vis[x][y];
for(int i=0;i<=mat[x][y];i++)
for(int j=0;i+j<=mat[x][y];j++)
{
if(i!=0||j!=0)
{
vis[x][y]+=Dfs(x+i,y+j);
if(vis[x][y]>=10000)
vis[x][y]%=10000;
}
}
v[x][y]=true;
return vis[x][y];
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&m,&n);
memset(v,false,sizeof(v));
memset(vis,0,sizeof(vis));
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
scanf("%d",&mat[i][j]);
printf("%d\n",Dfs(1,1)%10000);
}
return 0;
}