l = input().split()
h,w = int(l[0]),int(l[1])
maze = []
for i in range(h):
    maze.append(list(input()))
dx = [1,0,-1,0]
dy = [0,1,0,-1]
for i in range(h):
    for j in range(w):
        if maze[i][j] == "#" or maze[i][j] == 1:
            for k in range(4):
                if 0<=i+dx[k]<w and 0<=j+dy[k]<h:
                    if maze[i+dx[k]][j+dy[k]]=="#" or maze[i+dx[k]][j+dy[k]]==1:
                        maze[i+dx[k]][j+dy[k]]=1
flag = 0
for i in range(h):
    for j in range(w):
        if maze[i][j] == "#":
            print("No")
            flag = 1
            break
if flag != 1:
    print("Yes")