#include <bits/stdc++.h>
using namespace std;
#define FIN ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define fs first
#define sn second
#define pb push_back
#define all(v) v.begin(),v.end()
#define sz(v) ((int)v.size())
#define zero(v) memset(v, 0, sizeof(v))
#define forr(i,a,b) for(int i=(a); i<(b); i++)
#define forn(i,n) forr(i,0,n)
#define dforn(i,n) for(int i=n-1; i>=0; i--)
typedef long long ll;
typedef pair<int,int> ii;
typedef vector<int> vi;
int n;
char b[55][55];
ii E, S;
vector<ii> lista[55][55];
vector<ii> seg;
bool used[55][55] ;
set<ii> comp, star, final;
ii u;
void dfs(ii v) {
used[v.fs][v.sn] = true ;
comp.insert(v);
for (auto j:lista[v.fs][v.sn]) {
ii to = j;
if (!used[j.fs][j.sn])
dfs(to);
}
}
void find_comps(){
for (auto i:seg)
used[i.fs][i.sn] = false;
for (auto i:seg)
if (!used[i.fs][i.sn]) {
comp.clear();
dfs(i);
/* cout << "Component:" ;
for (auto j:comp) cout << ' ' <<"("<<j.fs<<","<<j.sn<<")";
cout<<'\n'; */
if(comp.find(E)!=comp.end()) star=comp;
if(comp.find(S)!=comp.end()) final=comp;
}
}
int main(){
cin>>n;
cin>>E.fs>>E.sn>>S.fs>>S.sn;
E.fs-=1;
E.sn-=1;
S.fs-=1;
S.sn-=1;
forn(i,n){
forn(j,n) cin>>b[i][j];
}
/* forn(i,n){
forn(j,n) cout<<b[i][j]<<" ";
cout<<'\n';
} */
forn(i,n){
forn(j,n){
if(b[i][j]=='0'){
seg.pb({i,j});
if(i>0&&b[i-1][j]=='0') lista[i-1][j].pb({i,j}), lista[i][j].pb({i-1,j});
if(j>0&&b[i][j-1]=='0') lista[i][j-1].pb({i,j}), lista[i][j].pb({i,j-1});
}
}
}
/* for(auto i:seg){
cout<<"("<<i.fs<<","<<i.sn<<")";
for(auto j:lista[i.fs][i.sn]) cout<<"("<<j.fs<<","<<j.sn<<")";
cout<<'\n';
} */
find_comps();
/* for (auto j:star) cout << ' ' <<"("<<j.fs<<","<<j.sn<<")";
cout<<'\n';
for (auto j:final) cout << ' ' <<"("<<j.fs<<","<<j.sn<<")"; */
if(star==final) cout<<0;
else{
int bridge=10000, aux;
for(auto i:star){
for(auto j:final){
aux=pow((i.fs+1)-(j.fs+1),2)+pow((i.sn+1)-(j.sn+1),2);
if(aux<bridge) bridge=aux;
}
}
cout<<bridge;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIEZJTiBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTtjaW4udGllKDApO2NvdXQudGllKDApCiNkZWZpbmUgZnMgZmlyc3QKI2RlZmluZSBzbiBzZWNvbmQKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBhbGwodikgdi5iZWdpbigpLHYuZW5kKCkKI2RlZmluZSBzeih2KSAoKGludCl2LnNpemUoKSkKI2RlZmluZSB6ZXJvKHYpIG1lbXNldCh2LCAwLCBzaXplb2YodikpCiNkZWZpbmUgZm9ycihpLGEsYikgZm9yKGludCBpPShhKTsgaTwoYik7IGkrKykKI2RlZmluZSBmb3JuKGksbikgZm9ycihpLDAsbikKI2RlZmluZSBkZm9ybihpLG4pIGZvcihpbnQgaT1uLTE7IGk+PTA7IGktLSkKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgcGFpcjxpbnQsaW50PiBpaTsKdHlwZWRlZiB2ZWN0b3I8aW50PiB2aTsKCmludCBuOwpjaGFyIGJbNTVdWzU1XTsKaWkgRSwgUzsKdmVjdG9yPGlpPiBsaXN0YVs1NV1bNTVdOwp2ZWN0b3I8aWk+IHNlZzsKYm9vbCB1c2VkWzU1XVs1NV0gOwpzZXQ8aWk+IGNvbXAsIHN0YXIsIGZpbmFsOwppaSB1OwoKdm9pZCBkZnMoaWkgdikgewogICAgdXNlZFt2LmZzXVt2LnNuXSA9IHRydWUgOwogICAgY29tcC5pbnNlcnQodik7CiAgICBmb3IgKGF1dG8gajpsaXN0YVt2LmZzXVt2LnNuXSkgewogICAgICAgIGlpIHRvID0gajsKICAgICAgICBpZiAoIXVzZWRbai5mc11bai5zbl0pCiAgICAgICAgICAgIGRmcyh0byk7CiAgICB9Cn0KCnZvaWQgZmluZF9jb21wcygpewogICAgZm9yIChhdXRvIGk6c2VnKQogICAgICAgIHVzZWRbaS5mc11baS5zbl0gPSBmYWxzZTsKICAgIGZvciAoYXV0byBpOnNlZykKICAgICAgICBpZiAoIXVzZWRbaS5mc11baS5zbl0pIHsKICAgICAgICAgICAgY29tcC5jbGVhcigpOwogICAgICAgICAgICBkZnMoaSk7CiAgICAgICAgICAgIC8qIGNvdXQgPDwgIkNvbXBvbmVudDoiIDsKICAgICAgICAgICAgZm9yIChhdXRvIGo6Y29tcCkgY291dCA8PCAnICcgPDwiKCI8PGouZnM8PCIsIjw8ai5zbjw8IikiOwogICAgICAgICAgICBjb3V0PDwnXG4nOyAqLwogICAgICAgICAgICBpZihjb21wLmZpbmQoRSkhPWNvbXAuZW5kKCkpIHN0YXI9Y29tcDsKICAgICAgICAgICAgaWYoY29tcC5maW5kKFMpIT1jb21wLmVuZCgpKSBmaW5hbD1jb21wOwogICAgICAgIH0KfQoKaW50IG1haW4oKXsKCWNpbj4+bjsKCWNpbj4+RS5mcz4+RS5zbj4+Uy5mcz4+Uy5zbjsKCUUuZnMtPTE7CglFLnNuLT0xOwoJUy5mcy09MTsKCVMuc24tPTE7Cglmb3JuKGksbil7CgkJZm9ybihqLG4pIGNpbj4+YltpXVtqXTsKCX0KCS8qIGZvcm4oaSxuKXsKCQlmb3JuKGosbikgY291dDw8YltpXVtqXTw8IiAiOwoJCWNvdXQ8PCdcbic7Cgl9ICovCglmb3JuKGksbil7CgkJZm9ybihqLG4pewoJCQlpZihiW2ldW2pdPT0nMCcpewoJCQkJc2VnLnBiKHtpLGp9KTsKCQkJCWlmKGk+MCYmYltpLTFdW2pdPT0nMCcpIGxpc3RhW2ktMV1bal0ucGIoe2ksan0pLCBsaXN0YVtpXVtqXS5wYih7aS0xLGp9KTsKCQkJCWlmKGo+MCYmYltpXVtqLTFdPT0nMCcpIGxpc3RhW2ldW2otMV0ucGIoe2ksan0pLCBsaXN0YVtpXVtqXS5wYih7aSxqLTF9KTsKCQkJfQoJCX0KCX0KCS8qIGZvcihhdXRvIGk6c2VnKXsKCQljb3V0PDwiKCI8PGkuZnM8PCIsIjw8aS5zbjw8IikiOwoJCWZvcihhdXRvIGo6bGlzdGFbaS5mc11baS5zbl0pIGNvdXQ8PCIoIjw8ai5mczw8IiwiPDxqLnNuPDwiKSI7CgkJY291dDw8J1xuJzsKCX0gKi8KCWZpbmRfY29tcHMoKTsKCS8qIGZvciAoYXV0byBqOnN0YXIpIGNvdXQgPDwgJyAnIDw8IigiPDxqLmZzPDwiLCI8PGouc248PCIpIjsKCWNvdXQ8PCdcbic7Cglmb3IgKGF1dG8gajpmaW5hbCkgY291dCA8PCAnICcgPDwiKCI8PGouZnM8PCIsIjw8ai5zbjw8IikiOyAqLwoJaWYoc3Rhcj09ZmluYWwpIGNvdXQ8PDA7CgllbHNlewoJCWludCBicmlkZ2U9MTAwMDAsIGF1eDsKCQlmb3IoYXV0byBpOnN0YXIpewoJCQlmb3IoYXV0byBqOmZpbmFsKXsKCQkJCWF1eD1wb3coKGkuZnMrMSktKGouZnMrMSksMikrcG93KChpLnNuKzEpLShqLnNuKzEpLDIpOwoJCQkJaWYoYXV4PGJyaWRnZSkgYnJpZGdlPWF1eDsKCQkJfQoJCX0KCQljb3V0PDxicmlkZ2U7Cgl9CglyZXR1cm4gMDsKfQo=