from collections import deque H, W, sx, sy = map(int, input().split()) sx -= 1 sy -= 1 S = [input() for _ in range(H)] Q = int(input()) gx = [0] * Q gy = [0] * Q T = [0] * Q for i in range(Q): gx[i], gy[i], T[i] = map(int, input().split()) gx[i] -= 1 gy[i] -= 1 INF = 1000000002 dist = [[[INF] * 2 for _ in range(W)] for _ in range(H)] dist[sx][sy][0] = 0 que = deque() que.append((sx, sy, 0)) dx = [1, 1, 0, -1, -1, -1, 0, 1] dy = [0, 1, 1, 1, 0, -1, -1, -1] while que: px, py, id = que.popleft() for d in range(8): nx, ny = px, py while True: nx += dx[d] ny += dy[d] if not (0 <= nx < H and 0 <= ny < W): break if S[nx][ny] == '#': break if dist[nx][ny][id ^ 1] == INF: dist[nx][ny][id ^ 1] = dist[px][py][id] + 1 que.append((nx, ny, id ^ 1)) for i in range(Q): if dist[gx[i]][gy[i]][T[i] % 2] <= T[i]: print("Yes") else: print("No")