from collections import deque h,w=map(int,input().split()) sy,sx,gy,gx=map(int,input().split()) sy-=1;sx-=1;gy-=1;gx-=1 g=[list(input()) for _ in range(h)] visit=[[False]*w for _ in range(h)] q=deque() q.append((sy,sx)) while q: y,x=q.popleft() if visit[y][x]: continue visit[y][x]=True dy=[-1,0,1,0] dx=[0,-1,0,1] for i in range(4): ny=y+dy[i] nx=x+dx[i] if not (0<=ny1: continue if visit[ny][nx]: continue q.append((ny,nx)) dy2=[-2,0,2,0] dx2=[0,-2,0,2] for i in range(4): ny2=y+dy2[i] nx2=x+dx2[i] if not (0<=ny2int(g[y][x]): continue q.append((ny2,nx2)) print('YES' if visit[gy][gx] else 'NO')