from collections import deque def bfs(): q = deque([(Si, Sj, A)]) visited = [[[False]*4000 for _ in range(W)] for _ in range(H)] visited[Si][Sj][A] = True while q: cx, cy, s = q.popleft() for nx, ny in [(cx-1, cy), (cx+1, cy), (cx, cy-1), (cx, cy+1)]: if not (0<=nx=4000: continue if not visited[nx][ny][ns]: visited[nx][ny][ns] = True q.append((nx, ny, ns)) return visited[Gi][Gj][B] H, W = map(int, input().split()) A, Si, Sj = map(int, input().split()) B, Gi, Gj = map(int, input().split()) M = [input() for _ in range(H)] if bfs(): print('Yes') else: print('No')