#include #define syosu(x) fixed< P; typedef pair pdd; typedef pair pll; typedef vector vi; typedef vector vvi; typedef vector vd; typedef vector vvd; typedef vector vl; typedef vector vvl; typedef vector vs; typedef vector

vp; typedef vector vvp; typedef vector vpll; typedef pair pip; typedef vector vip; const int inf=1<<30; const ll INF=1ll<<60; const double pi=acos(-1); const double eps=1e-8; const ll mod=1e9+7; const int dx[4]={0,1,0,-1},dy[4]={1,0,-1,0}; int h,w,sx,sy,gx,gy; vvi a,b; bool dfs(int x,int y){ if(b[x][y]) return 0; b[x][y]=1; if(x==gx&y==gy) return 1; bool B=0; for(int k=0;k<4;k++){ int cx=x+dx[k],cy=y+dy[k]; if(abs(a[x][y]-a[cx][cy])<2) B|=dfs(cx,cy); if(a[cx][cy]>h>>w>>sx>>sy>>gx>>gy; a=vvi(h+2,vi(w+2,inf)); b=vvi(h+2,vi(w+2)); for(int i=1;i<=h;i++) for(int j=1;j<=w;j++){ char c; cin>>c; a[i][j]=c-'0'; } cout<<(dfs(sx,sy)?"YES":"NO")<