n,w=map(int,input().split())
st=[]
for i in range(n):
    st.append(list(input())) #0~n-1までの列ができる

for i in range(1,n-1):
    for j in range(1,w-1): #i,jに1足しても引いても範囲内だから安心！
        if st[i][j]=="#":
            if st[i+1][j]=="." and st[i][j-1]=="." and st[i][j+1]=="." and st[i+1][j]==".":
                print("No")
                exit()
        if st[0][j]=="#" and st[1][j]=="." and st[0][j+1]=="." and st[0][j-1]==".": #上辺
            print("No")
            exit()
        if st[i][0]=="#" and st[i][1]=="." and st[i-1][0]=="." and st[i+1][0]==".": #左辺
            print("No")
            exit()
        if st[i][w-1]=="#" and st[i][w-2]=="." and st[i-1][w-1]=="." and st[i+1][w-1]==".": #右辺
            print("No")
            exit()
        if st[n-1][j]=="#" and st[n-2][j]=="." and st[n-1][j+1]=="." and st[n-1][j-1]==".": #下辺
            print("No")
            exit()
if st[0][0]=="#" and st[0][1]=="." and st[1][0]==".": #左上
    print("No")
    exit()
if st[0][w-1]=="#" and st[0][w-2]=="." and st[1][w-1]==".": #右上
    print("No")
    exit()
if st[n-1][0]=="#" and st[n-1][1]=="." and st[n-2][0]==".": #左下
    print("No")
    exit()
if st[n-1][w-1]=="#" and st[n-1][w-2]=="." and st[n-2][w-2]==".": #右下
    print("No")
    exit()
print("Yes")
