def main(): h, w = list(map(int, input().split())) S = ["#"*(w+2)] + ["#"+input()+"#" for _ in range(h)] + ["#"*(w+2)] h += 2 w += 2 k = int(input()) T = [list(map(str, input().split())) for _ in range(k)] A = [[S[y][x] for x in range(w)] for y in range(h)] ki = 0 for y in range(1, h-1): for x in range(1, w-1): f0 = f1 = 0 if S[y][x-1] + S[y][x] + S[y][x+1] == "#..": f0 = 1 if S[y-1][x] + S[y][x] + S[y+1][x] == "#..": f1 = 1 if f0 or f1: s0, s1 = T[ki] ki += 1 if f0: if s0 == "-": return "No" for nx in range(x, x+len(s0)): if A[y][nx] == ".": A[y][nx] = s0[nx-x] elif A[y][nx] != s0[nx-x]: return "No" if A[y][x+len(s0)] == ".": return "No" if f1: if s1 == "-": return "No" for ny in range(y, y+len(s1)): if A[ny][x] == ".": A[ny][x] = s1[ny-y] elif A[ny][x] != s1[ny-y]: return "No" if A[y+len(s1)][x] == ".": return "No" for y in range(h): for x in range(w): if A[y][x] == ".": return "No" return "Yes" print(main())