h, w = map(int, input().split())
s = [list(map(lambda x:x=="#", list(input())))for i in range(h)]
f=1
for i in range(h):
    for j in range(w):
        if 1^(s[max(0,i-1)][j] or s[i][max(0,j-1)] or s[i][min(w-1,j)] or s[min(h-1,i)][j]):f=0
print("YNeos"[f::2])