h, w = map(int, input().split())
s = [input() for i in range(h)]
isCase = True
count = 1

while (count != 0):
    count = 0
    for i in range(h):
        for j in range(w):
            count = s[i][j].count('#')
            if (s[i][j] == '#'):
                s[i][j].replace('#', '.')
                if (s[max(i-1,0)][j] == '#'):
                    s[max(i-1,0)][j].replace('#', '.')
                elif (s[i][max(j-1,0)] == '#'):
                    s[i][max(j-1,0)].replace('#', '.')
                elif (s[i][min(j+1,w-1)] == '#'):
                    s[i][min(j+1,w-1)].replace('#', '.')
                elif (s[min(i+1,h-1)][j] == '#'):
                    s[min(i+1,h-1)][j].replace('#', '.')
                else:
                    isCase = False
                    break
    if (isCase == False):
        break

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