#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define sqr(x) ((x)*(x)) #define fz1(i,n) for ((i)=1;(i)<=(n);(i)++) #define fd1(i,n) for ((i)=(n);(i)>=1;(i)--) #define fz0g(i,n) for ((i)=0;(i)<=(n);(i)++) #define fd0g(i,n) for ((i)=(n);(i)>=0;(i)--) #define fz0k(i,n) for ((i)=0;(i)<(n);(i)++) #define fd0k(i,n) for ((i)=(long long)((n)-1);(i)>=0;(i)--) #define fz(i,x,y) for ((i)=(x);(i)<=(y);(i)++) #define fd(i,y,x) for ((i)=(y);(i)>=(x);(i)--) #define fzin fz1(i,n) #define fzim fz1(i,m) #define fzjn fz1(j,n) #define fzjm fz1(j,m) #define ff(c,itr) for (__typeof((c).begin()) itr=(c).begin();itr!=(c).end();++itr) #define rdst(st,len){static char ss[len];scanf(" %s",ss);(st)=ss;} #define inc(x,y) {x+=(y);if(x>=mod)x-=mod;} #define dec(x,y) {x-=(y);if(x<0)x+=mod;} #define spln(i,n) (i==n?'\n':' ') #define fac_init(n){fac[0]=fac[1]=inv[1]=fi[0]=fi[1]=1;fz(i,2,n){fac[i]=1ll*fac[i-1]*i%mod;inv[i]=1ll*(mod-mod/i)*inv[mod%i]%mod;fi[i]=1ll*fi[i-1]*inv[i]%mod;}} using namespace std; inline void read(int &x) { char c;int f=1; while(!isdigit(c=getchar()))if(c=='-')f=-1; x=(c&15);while(isdigit(c=getchar()))x=(x<<1)+(x<<3)+(c&15); x*=f; } int n,m,i,j,k,a[505][505],t,x,y,ans,dx,dy; int main() { read(t); while(t--){ ans=0x3f3f3f3f; read(n);read(x);read(y); fz1(i,n)fz1(j,n) read(a[i][j]); fz1(i,n){ fz1(j,n){ int tmp=(abs(i-x)+abs(j-y)+1)/2,s=0,sm=0; vector v; fz(dx,-3,3)fz(dy,-3,3)if(abs(dx)+abs(dy)<=3&&(dx!=0||dy!=0)&&1<=i+dx&&i+dx<=n&&1<=j+dy&&j+dy<=n){ v.push_back(a[i+dx][j+dy]); } sort(v.begin(),v.end(),greater()); v.insert(v.begin(),a[i][j]); while(v.size()<9) v.push_back(0); fz1(k,8){ sm+=v[k-1]; int d=8*k*k-s; int c=(d+sm-1)/sm; tmp+=c;s+=c*sm; } ans=min(ans,tmp); } } printf("%d\n",ans); } return 0; }