#関数リスト
import sys
import numpy as np
input = sys.stdin.readline

 
def I(): return int(input())
def MI(): return map(int, input().split())
def LI(): return list(map(int, input().split()))

h, w = MI()
mylist = [input().rstrip() for i in range(h)]


def find(x, y):
    if x == 0 and y == 0:
        if (mylist[0])[1] == "#" or (mylist[1])[0] == "#":
            return True
    elif x == 0 and y == w-1:
        if (mylist[0])[w-2] == "#" or (mylist[1])[w-1] == "#":
            return True
    elif x == 0:
        if (mylist[0])[y-1] == "#" or (mylist[0])[y+1] == "#" or (mylist[1])[y] == "#":
            return True
    elif x == h-1 and y == 0:
        if (mylist[h-1])[1] == "#" or (mylist[h-2])[0] == "#":
            return True        
    elif x == h-1 and y == w-1:
        if (mylist[h-1])[w-2] == "#" or (mylist[h-2])[w-1] == "#":
            return True
    elif x == h-1:
        if (mylist[h-1])[y-1] == "#" or (mylist[h-1])[y+1] == "#" or (mylist[h-2])[y] == "#":
            return True
    elif y == w-1:
        if (mylist[x-1])[y] == "#" or (mylist[x+1])[y] == "#" or (mylist[x])[y-1] == "#":
            return True        
    else:
        if (mylist[x-1])[y] == "#" or (mylist[x+1])[y] == "#" or (mylist[x])[y-1] == "#" or (mylist[x])[y+1] == "#":
            return True        
        
def main():
    for i in range(h):
        for j in range(w):
            if not(find(i, j)):
                print("No")
                sys.exit()
    print("Yes")

main()