#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9;
const int dx[4] = {-1, 1, 0, 0};
const int dy[4] = {0, 0, -1, 1};
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int n, m;
cin >> n >> m;
vector<vector<int> > a(n + 1, vector<int>(m + 1));
vector<vector<int> > day(n + 1, vector<int>(m + 1, -1));
queue<pair<int, int> > q;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
cin >> a[i][j];
if (a[i][j] == 0) {
day[i][j] = 0;
q.push(make_pair(i, j));
}
}
}
int u1, v1, u2, v2;
cin >> u1 >> v1 >> u2 >> v2;
// BFS đa nguồn tính ngày tan
while (!q.empty()) {
pair<int, int> cur = q.front();
q.pop();
int x = cur.first;
int y = cur.second;
for (int k = 0; k < 4; k++) {
int nx = x + dx[k];
int ny = y + dy[k];
if (nx < 1 || nx > n || ny < 1 || ny > m) continue;
if (day[nx][ny] != -1) continue;
day[nx][ny] = day[x][y] + 1;
q.push(make_pair(nx, ny));
}
}
// Dijkstra minimax
vector<vector<int> > dist(n + 1, vector<int>(m + 1, INF));
priority_queue<
pair<int, pair<int, int> >,
vector<pair<int, pair<int, int> > >,
greater<pair<int, pair<int, int> > >
> pq;
dist[u1][v1] = day[u1][v1];
pq.push(make_pair(dist[u1][v1], make_pair(u1, v1)));
while (!pq.empty()) {
pair<int, pair<int, int> > cur = pq.top();
pq.pop();
int d = cur.first;
int x = cur.second.first;
int y = cur.second.second;
if (d != dist[x][y]) continue;
if (x == u2 && y == v2) {
cout << d << '\n';
return 0;
}
for (int k = 0; k < 4; k++) {
int nx = x + dx[k];
int ny = y + dy[k];
if (nx < 1 || nx > n || ny < 1 || ny > m) continue;
int nd = max(dist[x][y], day[nx][ny]);
if (nd < dist[nx][ny]) {
dist[nx][ny] = nd;
pq.push(make_pair(nd, make_pair(nx, ny)));
}
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgSU5GID0gMWU5Owpjb25zdCBpbnQgZHhbNF0gPSB7LTEsIDEsIDAsIDB9Owpjb25zdCBpbnQgZHlbNF0gPSB7MCwgMCwgLTEsIDF9OwoKaW50IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKE5VTEwpOwoKICAgIGludCBuLCBtOwogICAgY2luID4+IG4gPj4gbTsKCiAgICB2ZWN0b3I8dmVjdG9yPGludD4gPiBhKG4gKyAxLCB2ZWN0b3I8aW50PihtICsgMSkpOwogICAgdmVjdG9yPHZlY3RvcjxpbnQ+ID4gZGF5KG4gKyAxLCB2ZWN0b3I8aW50PihtICsgMSwgLTEpKTsKCiAgICBxdWV1ZTxwYWlyPGludCwgaW50PiA+IHE7CgogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IDE7IGogPD0gbTsgaisrKSB7CiAgICAgICAgICAgIGNpbiA+PiBhW2ldW2pdOwoKICAgICAgICAgICAgaWYgKGFbaV1bal0gPT0gMCkgewogICAgICAgICAgICAgICAgZGF5W2ldW2pdID0gMDsKICAgICAgICAgICAgICAgIHEucHVzaChtYWtlX3BhaXIoaSwgaikpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGludCB1MSwgdjEsIHUyLCB2MjsKICAgIGNpbiA+PiB1MSA+PiB2MSA+PiB1MiA+PiB2MjsKCiAgICAvLyBCRlMgxJFhIG5ndeG7k24gdMOtbmggbmfDoHkgdGFuCiAgICB3aGlsZSAoIXEuZW1wdHkoKSkgewogICAgICAgIHBhaXI8aW50LCBpbnQ+IGN1ciA9IHEuZnJvbnQoKTsKICAgICAgICBxLnBvcCgpOwoKICAgICAgICBpbnQgeCA9IGN1ci5maXJzdDsKICAgICAgICBpbnQgeSA9IGN1ci5zZWNvbmQ7CgogICAgICAgIGZvciAoaW50IGsgPSAwOyBrIDwgNDsgaysrKSB7CiAgICAgICAgICAgIGludCBueCA9IHggKyBkeFtrXTsKICAgICAgICAgICAgaW50IG55ID0geSArIGR5W2tdOwoKICAgICAgICAgICAgaWYgKG54IDwgMSB8fCBueCA+IG4gfHwgbnkgPCAxIHx8IG55ID4gbSkgY29udGludWU7CiAgICAgICAgICAgIGlmIChkYXlbbnhdW255XSAhPSAtMSkgY29udGludWU7CgogICAgICAgICAgICBkYXlbbnhdW255XSA9IGRheVt4XVt5XSArIDE7CiAgICAgICAgICAgIHEucHVzaChtYWtlX3BhaXIobngsIG55KSk7CiAgICAgICAgfQogICAgfQoKICAgIC8vIERpamtzdHJhIG1pbmltYXgKICAgIHZlY3Rvcjx2ZWN0b3I8aW50PiA+IGRpc3QobiArIDEsIHZlY3RvcjxpbnQ+KG0gKyAxLCBJTkYpKTsKCiAgICBwcmlvcml0eV9xdWV1ZTwKICAgICAgICBwYWlyPGludCwgcGFpcjxpbnQsIGludD4gPiwKICAgICAgICB2ZWN0b3I8cGFpcjxpbnQsIHBhaXI8aW50LCBpbnQ+ID4gPiwKICAgICAgICBncmVhdGVyPHBhaXI8aW50LCBwYWlyPGludCwgaW50PiA+ID4KICAgID4gcHE7CgogICAgZGlzdFt1MV1bdjFdID0gZGF5W3UxXVt2MV07CiAgICBwcS5wdXNoKG1ha2VfcGFpcihkaXN0W3UxXVt2MV0sIG1ha2VfcGFpcih1MSwgdjEpKSk7CgogICAgd2hpbGUgKCFwcS5lbXB0eSgpKSB7CiAgICAgICAgcGFpcjxpbnQsIHBhaXI8aW50LCBpbnQ+ID4gY3VyID0gcHEudG9wKCk7CiAgICAgICAgcHEucG9wKCk7CgogICAgICAgIGludCBkID0gY3VyLmZpcnN0OwogICAgICAgIGludCB4ID0gY3VyLnNlY29uZC5maXJzdDsKICAgICAgICBpbnQgeSA9IGN1ci5zZWNvbmQuc2Vjb25kOwoKICAgICAgICBpZiAoZCAhPSBkaXN0W3hdW3ldKSBjb250aW51ZTsKCiAgICAgICAgaWYgKHggPT0gdTIgJiYgeSA9PSB2MikgewogICAgICAgICAgICBjb3V0IDw8IGQgPDwgJ1xuJzsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQoKICAgICAgICBmb3IgKGludCBrID0gMDsgayA8IDQ7IGsrKykgewogICAgICAgICAgICBpbnQgbnggPSB4ICsgZHhba107CiAgICAgICAgICAgIGludCBueSA9IHkgKyBkeVtrXTsKCiAgICAgICAgICAgIGlmIChueCA8IDEgfHwgbnggPiBuIHx8IG55IDwgMSB8fCBueSA+IG0pIGNvbnRpbnVlOwoKICAgICAgICAgICAgaW50IG5kID0gbWF4KGRpc3RbeF1beV0sIGRheVtueF1bbnldKTsKCiAgICAgICAgICAgIGlmIChuZCA8IGRpc3RbbnhdW255XSkgewogICAgICAgICAgICAgICAgZGlzdFtueF1bbnldID0gbmQ7CiAgICAgICAgICAgICAgICBwcS5wdXNoKG1ha2VfcGFpcihuZCwgbWFrZV9wYWlyKG54LCBueSkpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gMDsKfQ==