h,w=list(map(int,input().split()))

mapdata=[]

re=0

for i in range(h):

  line=str(eval(input()))

  line2=list(line)

  mapdata.append(line2)

def jugde(i,j):

  count=0

  for x in (i-1,i+1):

    if 0<=x<=h-1:

      if mapdata[x][j]=='#':

        count+=1

  for y in (j-1,j+1):

    if 0<=y<=w-1:

      if mapdata[i][y]=='#':

        count+=1

  if count!=0:

    return True

for i in range(h):

  for j in range(w):

    if mapdata[i][j]=='#':

      if jugde(i,j)==True:

        pass

      else:

        re+=1

if re==0:

  print('Yes')

if re!=0:

  print('No')
# coding: utf-8

# Your code here!



H,W=list(map(int, input().split()))

S=["."+eval(input())+"." for i in range(H)]

S=["."*(W+2)]+S+["."*(W+2)]

flag = 0

for i in range(H):

    for j in range(W):

        if S[i][j]=="#":

            if S[i-1][j]=="." and S[i+1][j]=="." and S[i][j-1]=="." and S[i][j+1]==".":

                flag = 1

print(("Yes" if flag==0 else "No"))
h, w = list(map(int, input().split()))
mapdata = []
re = 0
for i in range(h):
    line = str(eval(input()))
    line2 = list(line)
    mapdata.append(line2)


def jugde(i, j):
    count = 0
    for x in (i - 1, i + 1):
        if 0 <= x <= h - 1:
            if mapdata[x][j] == "#":
                count += 1
    for y in (j - 1, j + 1):
        if 0 <= y <= w - 1:
            if mapdata[i][y] == "#":
                count += 1
    if count != 0:
        return True


for i in range(h):
    for j in range(w):
        if mapdata[i][j] == "#":
            if jugde(i, j) == True:
                pass
            else:
                re += 1
if re == 0:
    print("Yes")
if re != 0:
    print("No")

# coding: utf-8
# Your code here!
H, W = list(map(int, input().split()))
S = ["." + eval(input()) + "." for i in range(H)]
S = ["." * (W + 2)] + S + ["." * (W + 2)]
flag = 0
for i in range(H):
    for j in range(W):
        if S[i][j] == "#":
            if (
                S[i - 1][j] == "."
                and S[i + 1][j] == "."
                and S[i][j - 1] == "."
                and S[i][j + 1] == "."
            ):
                flag = 1
print(("Yes" if flag == 0 else "No"))

-h, w = list(map(int, input().split())) -mapdata = [] -re = 0 -for i in range(h): -    line = str(eval(input())) -    line2 = list(line) -    mapdata.append(line2) - - -def jugde(i, j): -    count = 0 -    for x in (i - 1, i + 1): -        if 0 <= x <= h - 1: -            if mapdata[x][j] == "#": -                count += 1 -    for y in (j - 1, j + 1): -        if 0 <= y <= w - 1: -            if mapdata[i][y] == "#": -                count += 1 -    if count != 0: -        return True - - -for i in range(h): -    for j in range(w): -        if mapdata[i][j] == "#": -            if jugde(i, j) == True: -                pass -            else: -                re += 1 -if re == 0: -    print("Yes") -if re != 0: -    print("No") +# coding: utf-8 +# Your code here! +H, W = list(map(int, input().split())) +S = ["." + eval(input()) + "." for i in range(H)] +S = ["." * (W + 2)] + S + ["." * (W + 2)] +flag = 0 +for i in range(H): +    for j in range(W): +        if S[i][j] == "#": +            if ( +                S[i - 1][j] == "." +                and S[i + 1][j] == "." +                and S[i][j - 1] == "." +                and S[i][j + 1] == "." +            ): +                flag = 1 +print(("Yes" if flag == 0 else "No"))