#include<iostream>
using namespace std;
//static int count=0;
void f(int a[][8],int n,int m,int x,int y,int z,int fx,int fy, int &count){
if(x==fx && y==fy && z==(n*m-1) && a[x][y]==1) {count++; return;}
/*
if( (x-1)>=0 && a[x-1][y]!=0 ) { int zb=z; int b[8][8]=a; if(--b[x][y]==0) zb++ ; f(b,n,m,x-1,y,zb,fx,fy,count);};
if( (x-2)>=0 && a[x-2][y]!=0 ) { int zb=z; int b[8][8]=a; if(--b[x][y]==0)zb++ ; f(b,n,m,x-2,y,zb,fx,fy,count);};
if( (x+1)<n && a[x+1][y]!=0 ) { int zb=z; int b[8][8]=a; if(--b[x][y]==0) zb++ ; f(b,n,m,x+1,y,zb,fx,fy,count);};
if( (x+2)<n && a[x+2][y]!=0 ) { int zb=z; int b[8][8]=a; if(--b[x][y]==0) zb++ ; f(b,n,m,x+2,y,zb,fx,fy,count);};
if( (y-1)>=0 && a[x][y-1]!=0 ) { int zb=z; int b[8][8]=a; if(--b[x][y]==0) zb++ ; f(b,n,m,x,y-1,zb,fx,fy,count);};
if( (y-2)>=0 && a[x][y-2]!=0 ) { int zb=z; int b[8][8]=a; if(--b[x][y]==0) zb++ ; f(b,n,m,x,y-2,zb,fx,fy,count);};
if( (y+1)<m && a[x][y+1]!=0 ) { int zb=z; int b[8][8]=a; if(--b[x][y]==0) zb++ ; f(b,n,m,x,y+1,zb,fx,fy,count);};
if( (y+2)<m && a[x][y+2]!=0 ) { int zb=z; int b[8][8]=a; if(--b[x][y]==0) zb++ ; f(b,n,m,x,y+2,zb,fx,fy,count);};
*/
int b[n][8];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++)
b[i][j]=a[i][j];
}
b[x][y]--;
if(b[x][y]==0) z++ ;
if( (x-1)>=0){if( a[x-1][y]!=0 ) f(b,n,m,x-1,y,z,fx,fy,count);
if( (x-2)>=0) {if (a[x-2][y]!=0 ) f(b,n,m,x-2,y,z,fx,fy,count);}; };
if( (x+1)<n ) { if( a[x+1][y]!=0 ) f(b,n,m,x+1,y,z,fx,fy,count);
if( (x+2)<n ) { if( a[x+2][y]!=0 ) f(b,n,m,x+2,y,z,fx,fy,count);}; };
if( (y-1)>=0 ) {if( a[x][y-1]!=0 ) f(b,n,m,x,y-1,z,fx,fy,count);
if( (y-2)>=0 ) { if(a[x][y-2]!=0 ) f(b,n,m,x,y-2,z,fx,fy,count);}; };
if( (y+1)<m) {if(a[x][y+1]!=0 ) f(b,n,m,x,y+1,z,fx,fy,count);
if( (y+2)<m) {if( a[x][y+2]!=0 ) f(b,n,m,x,y+2,z,fx,fy,count);}; };
}
int main()
{
int n,m,sx,sy,fx,fy,z=0,count=0,t;
cin>>t>>n>>m>>sx>>sy>>fx>>fy;
while(t){
int a[n][8];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++)
{cin>>a[i][j]; if(a[i][j]==0) z=z+1;}
}
f(a,n,m,sx-1,sy-1,z,fx-1,fy-1,count);
cout<<count<<endl;
t--;
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovL3N0YXRpYyBpbnQgY291bnQ9MDsKCnZvaWQgZihpbnQgYVtdWzhdLGludCBuLGludCBtLGludCB4LGludCB5LGludCB6LGludCBmeCxpbnQgZnksIGludCAmY291bnQpewogICAgIGlmKHg9PWZ4ICYmIHk9PWZ5ICYmIHo9PShuKm0tMSkgJiYgYVt4XVt5XT09MSkge2NvdW50Kys7IHJldHVybjt9CiAgICAgLyoKICAgICBpZiggKHgtMSk+PTAgJiYgYVt4LTFdW3ldIT0wICkgeyBpbnQgemI9ejsgaW50IGJbOF1bOF09YTsgaWYoLS1iW3hdW3ldPT0wKSB6YisrIDsgIGYoYixuLG0seC0xLHksemIsZngsZnksY291bnQpO307CiAgICAgaWYoICh4LTIpPj0wICYmIGFbeC0yXVt5XSE9MCApIHsgaW50IHpiPXo7IGludCBiWzhdWzhdPWE7IGlmKC0tYlt4XVt5XT09MCl6YisrIDsgIGYoYixuLG0seC0yLHksemIsZngsZnksY291bnQpO307CiAgICAgaWYoICh4KzEpPG4gJiYgYVt4KzFdW3ldIT0wICkgeyBpbnQgemI9ejsgaW50IGJbOF1bOF09YTsgaWYoLS1iW3hdW3ldPT0wKSB6YisrIDsgIGYoYixuLG0seCsxLHksemIsZngsZnksY291bnQpO307CiAgICAgaWYoICh4KzIpPG4gJiYgYVt4KzJdW3ldIT0wICkgeyBpbnQgemI9ejsgaW50IGJbOF1bOF09YTsgaWYoLS1iW3hdW3ldPT0wKSB6YisrIDsgIGYoYixuLG0seCsyLHksemIsZngsZnksY291bnQpO307CiAgICAgaWYoICh5LTEpPj0wICYmIGFbeF1beS0xXSE9MCApIHsgaW50IHpiPXo7IGludCBiWzhdWzhdPWE7IGlmKC0tYlt4XVt5XT09MCkgemIrKyA7ICBmKGIsbixtLHgseS0xLHpiLGZ4LGZ5LGNvdW50KTt9OwogICAgIGlmKCAoeS0yKT49MCAmJiBhW3hdW3ktMl0hPTAgKSB7IGludCB6Yj16OyBpbnQgYls4XVs4XT1hOyBpZigtLWJbeF1beV09PTApIHpiKysgOyAgZihiLG4sbSx4LHktMix6YixmeCxmeSxjb3VudCk7fTsKICAgICBpZiggKHkrMSk8bSAmJiBhW3hdW3krMV0hPTAgKSB7IGludCB6Yj16OyBpbnQgYls4XVs4XT1hOyBpZigtLWJbeF1beV09PTApICB6YisrIDsgIGYoYixuLG0seCx5KzEsemIsZngsZnksY291bnQpO307CiAgICAgaWYoICh5KzIpPG0gJiYgYVt4XVt5KzJdIT0wICkgeyBpbnQgemI9ejsgaW50IGJbOF1bOF09YTsgaWYoLS1iW3hdW3ldPT0wKSB6YisrIDsgIGYoYixuLG0seCx5KzIsemIsZngsZnksY291bnQpO307CiAgICAgKi8KICAgICBpbnQgYltuXVs4XTsKICAgICBmb3IoaW50IGk9MDtpPG47aSsrKXsKICAgICAgICAgICAgICAgICAgICAgZm9yKGludCBqPTA7ajxtO2orKykKICAgICAgICAgICAgICAgICAgICAgYltpXVtqXT1hW2ldW2pdOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgYlt4XVt5XS0tOyAgICAgICAgICAgICAgCiAgICAgaWYoYlt4XVt5XT09MCkgeisrIDsKICAgICBpZiggKHgtMSk+PTApe2lmKCBhW3gtMV1beV0hPTAgKSAgICBmKGIsbixtLHgtMSx5LHosZngsZnksY291bnQpOwogICAgIGlmKCAoeC0yKT49MCkge2lmIChhW3gtMl1beV0hPTAgKSAgZihiLG4sbSx4LTIseSx6LGZ4LGZ5LGNvdW50KTt9OyB9OwogICAgIGlmKCAoeCsxKTxuICkgeyBpZiggYVt4KzFdW3ldIT0wICkgIGYoYixuLG0seCsxLHkseixmeCxmeSxjb3VudCk7CiAgICAgaWYoICh4KzIpPG4gKSB7IGlmKCBhW3grMl1beV0hPTAgKSAgIGYoYixuLG0seCsyLHkseixmeCxmeSxjb3VudCk7fTsgfTsKICAgICBpZiggKHktMSk+PTAgKSB7aWYoIGFbeF1beS0xXSE9MCApICBmKGIsbixtLHgseS0xLHosZngsZnksY291bnQpOwogICAgIGlmKCAoeS0yKT49MCApIHsgaWYoYVt4XVt5LTJdIT0wICkgICAgZihiLG4sbSx4LHktMix6LGZ4LGZ5LGNvdW50KTt9OyB9OwogICAgIGlmKCAoeSsxKTxtKSB7aWYoYVt4XVt5KzFdIT0wICkgIGYoYixuLG0seCx5KzEseixmeCxmeSxjb3VudCk7CiAgICAgaWYoICh5KzIpPG0pIHtpZiggYVt4XVt5KzJdIT0wICkgICAgZihiLG4sbSx4LHkrMix6LGZ4LGZ5LGNvdW50KTt9OyB9OyAgICAgICAgICAgICAgICAgICAKICAgICB9CgppbnQgbWFpbigpCnsgICAKICAgIGludCBuLG0sc3gsc3ksZngsZnksej0wLGNvdW50PTAsdDsKICAgIGNpbj4+dD4+bj4+bT4+c3g+PnN5Pj5meD4+Znk7CiAgICB3aGlsZSh0KXsKICAgIGludCBhW25dWzhdOwogICAgZm9yKGludCBpPTA7aTxuO2krKyl7CiAgICAgICAgICAgICAgICAgICAgIGZvcihpbnQgaj0wO2o8bTtqKyspCiAgICAgICAgICAgICAgICAgICAgIHtjaW4+PmFbaV1bal07IGlmKGFbaV1bal09PTApIHo9eisxO30KICAgICAgICAgICAgICAgICAgICAgfQogICAgZihhLG4sbSxzeC0xLHN5LTEseixmeC0xLGZ5LTEsY291bnQpOwogICAgY291dDw8Y291bnQ8PGVuZGw7CiAgICB0LS07CiAgICB9CiAgIAogICAgcmV0dXJuIDA7Cn0KICAgIAo=