h,w = map(int,input().split())

d=[]

d.append("."*(w+2))

for i in range(h):
    r = input()
    d.append("."+r+".")
    
d.append("."*(w+2))
#print(d)

no=True

def isok(d,i,j):
    c = 0
    c = c+1 if d[i-1][j]=="#" else c
    c = c+1 if d[i][j-1]=="#" else c
    c = c+1 if d[i][j+1]=="#" else c
    c = c+1 if d[i+1][j]=="#" else c
    result= True if c > 0 else False
    return result
        

for i in range(h):
    if no == True:
        break
    for j in range(w):
        if no == True:
            break
        if d[i][j] == "#":
            a = isok(d,i,j)
            if a == False:
                no = True
                break


result = "No" if no==True else "Yes"
print(result)