rt
#include <bits/stdc++.h>
using namespace std;
int n,p[10010],q[2024601],xx[15]={0,0,0,1,-1},yy[15]={0,1,-1,0,0},ans[2024601],qx,qy,zx,zy;
bool ok[10008][10008];
char a;
void bfs()
{
int head=1;
int tail=1;
p[1]=qx;
q[1]=qy;
while(head<=tail)
{
for(int i=1;i<=4;i++)
{
int h=p[head]+xx[i];
int l=q[head]+yy[i];
if(ok[h][l]==1&&h>0&&l>0&&h<=n&&l<=n)
{
ok[h][l]=0;
tail++;
p[tail]=h;
q[tail]=l;
ans[tail]=ans[head]+1;
if(h==zx&&l==zy)
{
cout<<ans[tail]<<endl;
return ;
}
}
}
head++;
}
}
int main() {
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cin>>a;
if(a!='1')
{
ok[i][j]=1;
}
}
}
cin>>qx>>qy>>zx>>zy;
if(qx==zx&&qy==zy)
{
cout<<"0";
return 0;
}
bfs();
return 0;
}