h,w = [int(i)  for i in input().split()]

listHW = []
flag = False
for i in range(0, h):
  listHW.append(list(input()))

  
for i in range(0, len(listHW)):
  if flag:
    break
  listw = listHW[i]
  #print("listw", listw)
  for ii in range(0, len(listw)):
    w = listw[ii]
    if w == "#":

      if i == 0:
        #右上
        if ii == len(listw)-1:
          if w == listHW[i+1][ii] or w == listw[ii-1]:
            break
        #左上
        elif ii == 0:
          if w == listHW[i+1][ii] or w == listw[ii+1]:
            break 
        #上段
        elif w == listw[ii+1] or w == listw[ii-1] or w == listHW[i+1][ii]:
          break

      elif i == len(listHW)-1:
        #右下
        if ii == len(listw)-1:
          if w == listHW[i-1][ii] or w == listw[ii-1]:
            break
        #左下
        elif ii == 0:
          if w == listHW[i-1][ii] or w == listw[ii+1]:
            break 
        #下段
        elif w == listw[ii+1] or w == listw[ii-1] or w == listHW[i-1][ii]:
          break
      
      #左列
      elif ii == 0:
        if w == listw[ii+1]  or w == listHW[i-1][ii] or w == listHW[i+1][ii]:
          break
      #右列
      elif ii == len(listw)-1:
        if w == listw[ii-1]  or w == listHW[i-1][ii] or w == listHW[i+1][ii]:
          break
              
      #通常
      elif w == listw[ii-1] or w == listw[ii+1]or w == listHW[i-1][ii] or w == listHW[i+1][ii]:
        break

      #隣接するものがなかった時点で終了      
      flag = True
      break
    
    #「.」だったときはとばす
    else:
      continue
    



if flag:
  print("No")
else:
  print("Yes")
