H, W = map(int, input().split())
s = [input() for i in range(H)]
flag = True
count = 0
loop_num = 0

dx = [1, 0, -1, 0]
dy = [0, 1, 0, -1]

for i in range(H):
    for j in range(W):
        if s[i][j] == '#':
            for k in range(4):
                if 0 <= i+dy[k] < H and 0 <= j+dx[k] < W:
                    #数えるマスの数
                    loop_num += 1
                    if s[i+dy[k]][j+dx[k]] == '.':
                        #白い隣あったマスの数
                        count += 1
                #隣り合うマスが存在しないとき黒いマスは塗りつぶせないので目標は達成不可
                if count == loop_num:
                    flag = None
                    break
                else:
                    count = 0
                    loop_num = 0
        else:
            pass
    if flag == None:
        break

if flag:
    print('Yes')
else:
    print('No')
