import numpy as np


h, w = map(int, input().split())
tmp = []
for i in range(h):
    s = list(input())
    tmp.append(s)
cam = np.full((h+2, w+2), '.')
for i in range(h):
    cam[i+1][1:w+1] = tmp[i]

t = True
for i in range(h):
    for j in range(w):
        if cam[i+1][j+1] == '#':
            if cam[i+2][j+1] == '.' and cam[i+1][j+2] == '.' and cam[i][j+1] == '.' and cam[i+1][j] == '.':
                t = False
                break
    if not t:
        break
if t:
    print('Yes')
else:
    print('No')
