h;w;a;b;
char m[60][60],u[60][60];
char*r="NO";
f(x,y){
	if(!u[y][x]){
		u[y][x]=1;
		if(x==a&&y==b)r="YES";
		if(x>0  &&abs(m[x][y]-m[x-1][y])<2)f(x-1,y);
		if(x<h-1&&abs(m[x][y]-m[x+1][y])<2)f(x+1,y);
		if(y>0  &&abs(m[x][y]-m[x][y-1])<2)f(x,y-1);
		if(y<w-1&&abs(m[x][y]-m[x][y+1])<2)f(x,y+1);
		if(x>1  &&m[x][y]==m[x-2][y]&&m[x][y]>m[x-1][y])f(x-2,y);
		if(x<h-2&&m[x][y]==m[x+2][y]&&m[x][y]>m[x+1][y])f(x+2,y);
		if(y>1  &&m[x][y]==m[x][y-2]&&m[x][y]>m[x][y-1])f(x,y-2);
		if(y<w-2&&m[x][y]==m[x][y+2]&&m[x][y]>m[x][y+1])f(x,y+2);
	}
}
main(x,y,i){
	scanf("%d%d%d%d%d%d ",&h,&w,&x,&y,&a,&b);
	for(i=0;i<h;++i)gets(m[i]);
	--x;--y;--a;--b;
	f(x,y);
	puts(r);
	exit(0);
}