#include using namespace std; int n,S[505][505],ans; int dis(int x,int y,int x1,int y1){ return abs(x-x1)+abs(y-y1); } bool judge(int x,int y){ if(x<1||x>n||y<1||y>n)return 0; return 1; } int CEIL(int x,int p){ int res=x/p; if(x%p)res++; return res; } bool vis[505][505]; void solve(int x,int y,int step,int cnt,int get,int sum){ vis[x][y]=1; while(cnt<9){ step++;sum+=get; if(step>=ans){ for(int i=-3;i<=3;i++){ for(int j=-3;j<=3;j++){ int X=i+x,Y=j+y; if(judge(X,Y))vis[X][Y]=0; } } return ; } while(sum>=cnt*cnt*8){ ++cnt; int mx=0,mxx=x,mxy=y; for(int i=-3;i<=3;i++){ for(int j=-3;j<=3;j++){ int X=i+x,Y=j+y; if(judge(X,Y)&&vis[X][Y]==0&&dis(X,Y,x,y)<=3){ if(S[X][Y]>mx)mx=S[X][Y],mxx=X,mxy=Y; } } } get+=mx; vis[mxx][mxy]=1; } } for(int i=-3;i<=3;i++){ for(int j=-3;j<=3;j++){ int X=i+x,Y=j+y; if(judge(X,Y))vis[X][Y]=0; } } ans=step; } int dx[4]={1,1,-1,-1},dy[4]={-1,1,1,-1}; int main(){ int x,y,T; cin>>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",&S[i][j]); ans=1e9; for(int step=0;step<=n*n;step++){ if(step>=ans)continue; for(int i=0;i<=step;i++){ for(int d=0;d<4;d++){ int X=x+i*dx[d],Y=y+(step-i)*dy[d]; if(judge(X,Y))solve(X,Y,CEIL(step,2),1,S[X][Y],0); } } } cout<