#include #include using namespace std; int n , x , y; int ans[5][12][12][12]; int a[510][510]; int out; void predo () { int c , i , j , k; int now , del , food; for ( c = 1 ; c <= 3 ; c++ ) { for ( i = 0 ; i <= 9 ; i++ ) { for ( j = 0 ; j <= 9 ; j++ ) { for ( k = 0 ; k <= 9 ; k++ ) { if ( i + j + k <= 7 ) { ans[c][i][j][k] = 0; now = 1; del = c; food = 0; while ( now < 9 ) { food += del; ans[c][i][j][k]++; if ( food >= 8 * now * now ) { now++; if ( now - 1 <= k ) del += 3; else if ( now - 1 <= k + j ) del += 2; else if ( now - 1 <= k + j + i ) del++; } } } } } } } } inline int check ( int i , int j ) { if ( 1 <= i && i <= n && 1 <= j && j <= n ) return 1; return 0; } int dis ( int i , int j ) { return (abs(i-x)+abs(j-y)) / 2 + (abs(i-x)+abs(j-y)) % 2; } void work () { int i , j , cnt[5]; scanf ( "%d%d%d" , &n , &x , &y ); for ( i = 1 ; i <= n ; i++ ) { for ( j = 1 ; j <= n ; j++ ) { scanf ( "%d" , &a[i][j] ); } } out = 9999999; for ( i = 1 ; i <= n ; i++ ) { for ( j = 1 ; j <= n ; j++ ) { cnt[1] = cnt[2] = cnt[3] = 0; if ( check ( i - 3 , j ) ) cnt[a[i-3][j]]++; if ( check ( i - 2 , j ) ) cnt[a[i-2][j]]++; if ( check ( i - 2 , j-1 ) ) cnt[a[i-2][j-1]]++; if ( check ( i - 2 , j+1 ) ) cnt[a[i-2][j+1]]++; if ( check ( i - 1 , j-2 ) ) cnt[a[i-1][j-2]]++; if ( check ( i - 1 , j-1 ) ) cnt[a[i-1][j-1]]++; if ( check ( i - 1 , j ) ) cnt[a[i-1][j]]++; if ( check ( i - 1 , j+1 ) ) cnt[a[i-1][j+1]]++; if ( check ( i - 1 , j+2 ) ) cnt[a[i-1][j+2]]++; if ( check ( i + 3 , j ) ) cnt[a[i+3][j]]++; if ( check ( i + 2 , j ) ) cnt[a[i+2][j]]++; if ( check ( i + 2 , j-1 ) ) cnt[a[i+2][j-1]]++; if ( check ( i + 2 , j+1 ) ) cnt[a[i+2][j+1]]++; if ( check ( i + 1 , j-2 ) ) cnt[a[i+1][j-2]]++; if ( check ( i + 1 , j-1 ) ) cnt[a[i+1][j-1]]++; if ( check ( i + 1 , j ) ) cnt[a[i+1][j]]++; if ( check ( i + 1 , j+1 ) ) cnt[a[i+1][j+1]]++; if ( check ( i + 1 , j+2 ) ) cnt[a[i+1][j+2]]++; if ( check(i,j-3) ) cnt[a[i][j-3]]++; if ( check(i,j-2) ) cnt[a[i][j-2]]++; if ( check(i,j-1) ) cnt[a[i][j-1]]++; if ( check(i,j+1) ) cnt[a[i][j+1]]++; if ( check(i,j+2) ) cnt[a[i][j+2]]++; if ( check(i,j+3) ) cnt[a[i][j+3]]++; if ( cnt[3] >= 7 ) cnt[3] = 7; if ( cnt[2] + cnt[3] >= 7 ) cnt[2] = 7 - cnt[3]; if ( cnt[1] + cnt[2] + cnt[3] >= 7 ) cnt[1] = 7 - cnt[3] - cnt[2]; out = min ( out , dis ( i , j ) + ans[a[i][j]][cnt[1]][cnt[2]][cnt[3]] ); } } printf ( "%d\n" , out ); } int main () { int t; scanf ( "%d" , &t ); predo (); while ( t-- ) work (); return 0; }