#include using namespace std; struct place{ int y; int x; }; int R,C; int dist[1000][1000]; int dy[4]={-1,1,0,0}; int dx[4]={0,0,-1,1}; place sn,gn,cn,nn; string G[1000]; int main(){ int i,j; cin>>R>>C>>sn.y>>sn.x>>gn.y>>gn.x; --sn.y; --sn.x; --gn.y; --gn.x; for(i=0;i>G[i]; for(i=0;ique; que.push(sn); while(!que.empty()){ cn=que.front(); if(cn.y==gn.y && cn.x==gn.x)break; que.pop(); for(i=0;i<4;++i){ nn.y=cn.y+dy[i]; nn.x=cn.x+dx[i]; if(nn.y>=0 && nn.y=0 && nn.x