import sys

def rec_function(i, j, lasting):
    check_list[i][j] = 1

    if (not lasting) and \
       (not (i < H - 1 and s_list[i+1][j] == "#")) and \
       (not (j < W - 1 and s_list[i][j+1] == "#")):
        global impossible
        impossible = True
        return

    if i < H - 1 and s_list[i+1][j] == "#":
        rec_function(i + 1, j, True)
    if j < W - 1 and s_list[i][j+1] == "#":
        rec_function(i, j + 1, True)



H, W = list(map(int, input().split()))
s_list = list()
check_list = [[0]*W]*H
impossible = False

for _ in range(H):
    s = input()
    s_list.append(s)

for i in range(H):
    for j in range(W):
        if check_list[i][j] == 1:
            continue

        if s_list[i][j] == '.':
            check_list[i][j] = 1
            continue

        rec_function(i, j, False)
        
        if impossible:
            print('No')
            sys.exit()

print('Yes')
