#include using namespace std; typedef long long LL; typedef pair pii; #define read(a) scanf("%d", &a) #define x first #define y second #define N 505 int n, X, Y; int a[N][N]; int solve(int x, int y) { priority_queue q; for (int i = max(1, x - 3); i <= min(n, x + 3); i++) { int d = abs(i - x), xd = 3 - d; for (int j = max(1, y - xd); j <= min(n, y + xd); j++) { if (i != x || j != y) q.push(a[i][j]); } } int h = 1, o = a[x][y], f = 0, r = 0; while (h < 9) { r++; f += o; if (f >= 8 * h * h) { h++; if (!q.empty()) o += q.top(), q.pop(); } } return r; } void work() { 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); } } int ans = 0x3f3f3f3f; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { ans = min(ans, solve(i, j) + (abs(X - i) + abs(Y - j) + 1) / 2); } } printf("%d\n", ans); } int main() { int T; scanf("%d", &T); while (T--) { work(); } }