import sys
import queue

def search(h,w):
  global arr

  c_max=1
  q=queue.Queue()
  q.put((h,w,1))
  while not q.empty():
    h,w,c=q.get()
    if c_max<c:
      c_max=c

    arr[h][w]="."

    if h>=1 and arr[h-1][w]=="#":
      q.put((h-1,w,c+1))
    if h<=len(arr)-2 and arr[h+1][w]=="#":
      q.put((h+1,w,c+1))
    if w>=1 and arr[h][w-1]=="#":
      q.put((h,w-1,c+1))
    if w>=len(arr[h])-2 and arr[h][w+1]=="#":
      q.put((h,w+1,c+1))

  return c_max

H,W=list(map(int,input().split(" ")))
arr=[]
for z in range(H):
  arr.append(list(input()))

h,w=0,0

while True:

  if arr[h][w]=="#":
    if search(h,w)==1:
      print("No")
      sys.exit()

  w+=1
  if w>=W:
    w=0
    h+=1
  if h>=H:
    break

print("Yes")