p1746
#include<bits/stdc++.h>
#define int long long
using namespace std;
int a[10000][10000];
int vis[5000][5000];
int n;
void dfs(int x,int y,int dis){
if(x>n||x<1||y>n||y<1||dis>=vis[x][y]||a[x][y]==1);
return;
vis[x][y]=dis;
dfs(x+1,y,dis+1);
dfs(x,y+1,dis+1);
dfs(x,y-1,dis+1);
dfs(x-1,y,dis+1);
}
signed main(){
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++){
char c;
cin>>c;
a[i][j]=(c=='1');
vis[i][j]=INT_MAX;
}
int x,y,x2,y2;
cin>>x>>y>>x2>>y2;
dfs(x,y,0);
cout<<vis[x2][y2];
return 0;}