h, w = map(int, input().split(' ')) # H(行)とW（列）を入力
s = []
yorn = 'True'
for i in range(h):
    si = str(input()) #i行目を入力
#    print(i, '行目: ', si)
    s.append(si)
#    print(s)
    
    for j in range(w):
        #左側を比較する必要がないとき
        if (j == 0) or (s[i][j] == '.'):
#            print(j,': next')
            continue
        #左側を比較するとき
        #左に#があれば次の文字へ
        elif s[i][j-1] == '#':
#            print(j,': next')
            continue
        #左に#がないとき
        #上の行がなければ次の文字へ
        elif i == 0:
#            print(i,': next')
            continue
        #上の行と比較するとき
        #上に#があれば次の文字へ
        elif s[i-1][j] == '#':
            continue
#            print(j,': next')
        #上に#がないならば終了
        else:
            yorn = 'False'
#            print(j,': End')

if yorn == 'True':             
    print('Yes')
else:
    print('No')