import numpy as np
H,W=map(int,input().split())
M=[list(input()) for i in range(H)]
M=[[1 if s=='#' else 0 for s in M[h]] for h in range(H)]
M=np.array(M)
U=np.zeros((H,W))
D=np.zeros((H,W))
R=np.zeros((H,W))
L=np.zeros((H,W))
for h in range(H):
  for w in range(W):
    if M[h][w]==0:
      continue
    else:
      #上方向
      if h-1>=0 and M[h-1][w]>0:
        U[h][w]=U[h][w]+1
      #下方向
      if h+1<H and M[h+1][w]>0:
        D[h][w]=D[h][w]+1
      #右方向
      if w+1<W and M[h][w+1]>0:
        R[h][w]=R[h][w]+1
      #左方向
      if w-1>0 and M[h][w-1]>0:
        L[h][w]=L[h][w]+1
T=U+D+R+L+M
if np.any(T==1):
  print("No")
else:
  print("Yes")