#include #define inf 0x3f3f3f3f using namespace std; typedef long long ll; typedef double db; int num[505][505],val[105]; int calc(int x,int y,int n) { int sz=0; for(int i=-3;i<=3;i++) for(int j=-3;j<=3;j++) if (abs(i+j)<=3&&(i||j)&&x+i>0&&x+i<=n&&y+i>0&&y+i<=n) val[++sz]=num[x+i][y+j]; sort(val+1,val+sz+1); reverse(val+1,val+sz+1); int d=1,s1=num[x][y],s2=0,ans=0; while (d<9) { int t=(8*d*d-s2+s1-1)/s1; s2+=t*s1; ans+=t; if (d<=sz) s1+=val[d]; d++; } return ans; } int main() { int cases; scanf("%d",&cases); for(;cases;cases--) { int n,sx,sy; scanf("%d%d%d",&n,&sx,&sy); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) scanf("%d",&num[i][j]); int ans=inf; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) { int v=(abs(i-sx)+abs(j-sy)+1)/2; if (v>=ans) continue; ans=min(ans,v+calc(i,j,n)); } printf("%d\n",ans); } return 0; }