h, w = list(map(int, input().split()))
maps = [list(input()) for i in range(h)]

def search(i, j):
  for dh, dw in [[1, 0], [-1, 0], [0, 1], [0, -1]]:
    x = max(0, min(i + dw, w-1))
    y = max(0, min(j + dh, h-1))
    if i == y and j == x: continue 
    if maps[x][y] == "#":
      return True
  return False

flag = True
for i in range(h):
  for j in range(w):
    if maps[i][j] == "#" and not search(i, j):
        flag = False
        break
        
print("Yes" if flag else "No")