def inside(x, y): return 0 <= x < H and 0 <= y < W def move(h, w): c = [[-1] * W for i in range(H)] for i in range(H): for j in range(W): # まだ塗られていない黒マスが見つかったら if s[i][j] == '#' and c[i][j] == -1: # このマスを赤に塗る c[i][j] = 0 # 対応する黒マスがなければやめる ni = i + h; nj = j + w if not inside(ni, nj): return False if s[ni][nj] != '#': return False # 対応するマスを青に c[ni][nj] = 1 return True H, W = map(int, input().split()) s = [] black = 0 for i in range(H): s.append(list(input())) black += s[i].count('#') if black == 0 or black & 1: print("NO") exit() for h in range(-H, H): for w in range(-W, W): if h == w == 0: continue if move(h, w): print("YES") exit() print("NO")