d = list(map(int,input().split()))
at = []
at.append([["."]*(d[1]+2)])
for i in range(d[0]):
  at.append(list(input()))
  at[i+1].insert(0,".")
  at[i+1].insert(d[1],".")
at.append([["."]*(d[1]+2)])

l = [[1,0],[1,1],[0,1],[-1,1],[-1,0],[-1,-1],[0,-1],[1,-1]]
re = True
op = False
def ao(k):
  for a in range(1,d[0]):
    for b in range(1,d[1]):
      for dx,dy in l:
        if at[a][b] =="#" and at[a+dx][b+dy] ==".":
          re = False
        if at[a][b] =="#" and at[a+dx][b+dy] =="#":
          op = True
      if op == true:
        re = True
      op = False

if re == True:
  print("Yes")
else:
  print("No")