#include using namespace std; int a[600][600]; int ans,n,x,y; int solve(int x,int y,int step){ vector b; for(int i = max(1,x-3);i<=min(x+3,n);++i){ for(int j = max(1,y-3);j<=min(y+3,n);++j){ if(i==x && j == y) continue; if(abs(i-x) + abs(j-y) <= 3){ b.push_back(a[i][j]); } } } sort(b.begin(),b.end()); int now = 0; int pro = a[x][y]; int res = step; for(int p = 1;p<=8;++p){ int tar = 8 * p*p; int tstep = (tar - now) / pro; if((tar-now)%pro) ++tstep; now += tstep * pro; res += tstep; if( b.size() > 0){ pro += b[b.size()-1]; b.pop_back(); } } return res; } int main(){ int T; scanf("%d",&T); while(T--){ scanf("%d %d %d",&n,&x,&y); for(int i = 1;i<=n;++i){ for(int j = 1;j<=n;++j){ scanf("%d",&a[i][j]); } } ans = 0x3f3f3f3f; for(int i = 1;i<=n;++i){ for(int j = 1;j<=n;++j){ int step = abs(i-x) + abs(j-y); int tem = (step+1)/2; if(tem > ans) continue; ans = min(ans,solve(i,j,tem)); } } printf("%d\n",ans); } }