#include <bits/stdc++.h>
using namespace std;
int N, M, n, m;
int visited[1000][1000];
int grid[1000][1000];
int dx[] = {0, 1, 0, -1};
int dy[] = {1, 0, -1, 0};
int ff(int x, int y, int dist) { // DFS
if(visited[x][y] != -1) return 0;
visited[x][y] = dist;
for(int i = 0; i < 4; i++) {
int xx = x+dx[i];
int yy = y+dy[i];
if(xx >= 0 && xx < N && yy >= 0 && yy < M && grid[xx][yy] == 0)
ff(xx, yy, dist+1);
}
return 0;
}
int main() {
cin >> N >> M;
for(int i = 0; i < N; i++)
for(int j = 0; j < M; j++)
cin >> grid[i][j];
cin >> n >> m;
for(int i = 0; i < N; i++)
for(int j = 0; j < M; j++)
visited[i][j] = -1;
// ff(n-1, m-1, 0);
queue<pair<pair<int, int>, int> > q;
q.push(make_pair(make_pair(n-1, m-1), 1));
while(!q.empty()) {
int x = q.front().first.first;
int y = q.front().first.second;
int dist = q.front().second;
q.pop();
if(visited[x][y] != -1) continue;
visited[x][y] = dist;
for(int i = 0; i < 4; i++) {
int xx = x+dx[i];
int yy = y+dy[i];
if(xx >= 0 && xx < N && yy >= 0 && yy < M && grid[xx][yy] == 0)
q.push(make_pair(make_pair(xx, yy), dist+1));
}
}
for(int i = 0; i < N; i++) {
for(int j = 0; j < M; j++)
printf("%2d ", visited[i][j]);
cout << endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgTiwgTSwgbiwgbTsKaW50IHZpc2l0ZWRbMTAwMF1bMTAwMF07CmludCBncmlkWzEwMDBdWzEwMDBdOwppbnQgZHhbXSA9IHswLCAxLCAwLCAtMX07CmludCBkeVtdID0gezEsIDAsIC0xLCAwfTsKCmludCBmZihpbnQgeCwgaW50IHksIGludCBkaXN0KSB7IC8vIERGUwoJaWYodmlzaXRlZFt4XVt5XSAhPSAtMSkgcmV0dXJuIDA7Cgl2aXNpdGVkW3hdW3ldID0gZGlzdDsKCWZvcihpbnQgaSA9IDA7IGkgPCA0OyBpKyspIHsKCQlpbnQgeHggPSB4K2R4W2ldOwoJCWludCB5eSA9IHkrZHlbaV07CgkJaWYoeHggPj0gMCAmJiB4eCA8IE4gJiYgeXkgPj0gMCAmJiB5eSA8IE0gJiYgZ3JpZFt4eF1beXldID09IDApCgkJCWZmKHh4LCB5eSwgZGlzdCsxKTsKCX0KCXJldHVybiAwOwp9CgppbnQgbWFpbigpIHsKCWNpbiA+PiBOID4+IE07Cglmb3IoaW50IGkgPSAwOyBpIDwgTjsgaSsrKQoJCWZvcihpbnQgaiA9IDA7IGogPCBNOyBqKyspCgkJCWNpbiA+PiBncmlkW2ldW2pdOwoJY2luID4+IG4gPj4gbTsKCWZvcihpbnQgaSA9IDA7IGkgPCBOOyBpKyspCgkJZm9yKGludCBqID0gMDsgaiA8IE07IGorKykKCQkJdmlzaXRlZFtpXVtqXSA9IC0xOwoJLy8gZmYobi0xLCBtLTEsIDApOwoJcXVldWU8cGFpcjxwYWlyPGludCwgaW50PiwgaW50PiA+IHE7CglxLnB1c2gobWFrZV9wYWlyKG1ha2VfcGFpcihuLTEsIG0tMSksIDEpKTsKCXdoaWxlKCFxLmVtcHR5KCkpIHsKCQlpbnQgeCA9IHEuZnJvbnQoKS5maXJzdC5maXJzdDsKCQlpbnQgeSA9IHEuZnJvbnQoKS5maXJzdC5zZWNvbmQ7CgkJaW50IGRpc3QgPSBxLmZyb250KCkuc2Vjb25kOwoJCXEucG9wKCk7CgkJaWYodmlzaXRlZFt4XVt5XSAhPSAtMSkgY29udGludWU7CgkJdmlzaXRlZFt4XVt5XSA9IGRpc3Q7CgkJZm9yKGludCBpID0gMDsgaSA8IDQ7IGkrKykgewoJCQlpbnQgeHggPSB4K2R4W2ldOwoJCQlpbnQgeXkgPSB5K2R5W2ldOwoJCQlpZih4eCA+PSAwICYmIHh4IDwgTiAmJiB5eSA+PSAwICYmIHl5IDwgTSAmJiBncmlkW3h4XVt5eV0gPT0gMCkKCQkJCXEucHVzaChtYWtlX3BhaXIobWFrZV9wYWlyKHh4LCB5eSksIGRpc3QrMSkpOwoJCX0KCX0KCQoJZm9yKGludCBpID0gMDsgaSA8IE47IGkrKykgewoJCWZvcihpbnQgaiA9IDA7IGogPCBNOyBqKyspCgkJCXByaW50ZigiJTJkICIsIHZpc2l0ZWRbaV1bal0pOwoJCWNvdXQgPDwgZW5kbDsKCX0KCXJldHVybiAwOwp9
OCAxMAotMSAtMSAtMSAtMSAtMSAtMSAtMSAtMSAtMSAtMQotMSAwIDAgMCAwIDAgLTEgMCAwIDAKLTEgMCAwIC0xIC0xIDAgMCAwIC0xIC0xCi0xIC0xIDAgMCAtMSAtMSAtMSAwIDAgLTEKLTEgMCAwIDAgLTEgMCAtMSAtMSAtMSAtMQotMSAwIC0xIDAgLTEgMCAtMSAwIDAgLTEKLTEgMCAtMSAwIDAgMCAwIDAgLTEgLTEKLTEgMCAtMSAtMSAtMSAtMSAtMSAtMSAtMSAtMQo3IDU=
8 10
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-1 0 0 0 0 0 -1 0 0 0
-1 0 0 -1 -1 0 0 0 -1 -1
-1 -1 0 0 -1 -1 -1 0 0 -1
-1 0 0 0 -1 0 -1 -1 -1 -1
-1 0 -1 0 -1 0 -1 0 0 -1
-1 0 -1 0 0 0 0 0 -1 -1
-1 0 -1 -1 -1 -1 -1 -1 -1 -1
7 5