# -*- coding: utf-8 -*-
from sys import stdin
import sys
import numpy as np



xy = stdin.readline().rstrip().split()
x = int(xy[0])
y = int(xy[1])

data = [stdin.readline().rstrip().split() for _ in range(x)]
print(*data, sep='\n')
print('----------------')

for i in range(x):
    data[i] = list(data[i][0])

arr = np.array(data)
print(arr)
print('----------------')

OK = True
for i in range(x):
    for j in range(y):

        if arr[i][j] == '#':
            can_paint = False

            if i != 0:
                if arr[i-1][j] == '#':
                    can_paint =True

            if j != 0:
                if arr[i][j-1] == '#':
                    can_paint = True

            if i != x-1:
                if arr[i+1][j] == '#':
                    can_paint = True

            if j != y-1:
                if arr[i][j+1] == '#':
                    can_paint = True

            if can_paint != True:
                OK = False

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