"""考え方

上下左右のいずれか隣接するマスが黒である必要がある。

つまり黒マスが1つだけポツンと存在した場合はNGとなる。



横チェック、縦チェック、の2つに分断して確認を行う。

"""



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



list_matu = []



for h in range(H):

  list_matu.append(list(eval(input())))





## 横チェック

ng_matu=[]

for h in range(H): ## 全レコードが対象

  for w in range(1,W-1): ## 列ごとに実施

    target = list_matu[h][w]

    target_left = list_matu[h][w-1]

    target_right = list_matu[h][w+1]

    

    if target=='#':

      if (target_left != '#') and (target_right != '#'):

        ng_matu.append([h,w])





## 縦チェック

for w in range(W):

  for h in range(1,H-1):

    target = list_matu[h][w]

    target_over = list_matu[h+1][w]

    target_under = list_matu[h-1][w]

    

    if target=='#':

      if (target_over != '#') and (target_under != '#'):

        if [h,w] in ng_matu:

          print('No')

          exit()





print('Yes')

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



"""考え方

普通に全探索して問題あるか無いかを確認して行く。

1行目、H行目、1列目、W列目だけは少し注意！！！

→0行目、H+1行目、0列目、W+1列目を追加する

"""



list_ = []

list_.append(['.' for i in range(W+2)])

for h in range(H):

  list_.append(list('.'+eval(input())+'.'))

list_.append(['.' for i in range(W+2)])



ans = 'Yes'

for h in range(H):

  for w in range(W):

    ## 黒にする箇所があった時に、上下左右のいずれかに黒色の箇所があればOK！！！

    if list_[h][w] == '#':

      if list_[h-1][w] == '.':

        if list_[h+1][w] == '.':

          if list_[h][w-1] == '.':

            if list_[h][w+1] == '.':

              ans = 'No'

              break



print(ans)     
"""考え方
上下左右のいずれか隣接するマスが黒である必要がある。
つまり黒マスが1つだけポツンと存在した場合はNGとなる。
横チェック、縦チェック、の2つに分断して確認を行う。
"""
H, W = list(map(int, input().split()))
list_matu = []
for h in range(H):
    list_matu.append(list(eval(input())))
## 横チェック
ng_matu = []
for h in range(H):  ## 全レコードが対象
    for w in range(1, W - 1):  ## 列ごとに実施
        target = list_matu[h][w]
        target_left = list_matu[h][w - 1]
        target_right = list_matu[h][w + 1]
        if target == "#":
            if (target_left != "#") and (target_right != "#"):
                ng_matu.append([h, w])
## 縦チェック
for w in range(W):
    for h in range(1, H - 1):
        target = list_matu[h][w]
        target_over = list_matu[h + 1][w]
        target_under = list_matu[h - 1][w]
        if target == "#":
            if (target_over != "#") and (target_under != "#"):
                if [h, w] in ng_matu:
                    print("No")
                    exit()
print("Yes")

H, W = list(map(int, input().split()))
"""考え方
普通に全探索して問題あるか無いかを確認して行く。
1行目、H行目、1列目、W列目だけは少し注意！！！
→0行目、H+1行目、0列目、W+1列目を追加する
"""
list_ = []
list_.append(["." for i in range(W + 2)])
for h in range(H):
    list_.append(list("." + eval(input()) + "."))
list_.append(["." for i in range(W + 2)])
ans = "Yes"
for h in range(H):
    for w in range(W):
        ## 黒にする箇所があった時に、上下左右のいずれかに黒色の箇所があればOK！！！
        if list_[h][w] == "#":
            if list_[h - 1][w] == ".":
                if list_[h + 1][w] == ".":
                    if list_[h][w - 1] == ".":
                        if list_[h][w + 1] == ".":
                            ans = "No"
                            break
print(ans)

+H, W = list(map(int, input().split())) -上下左右のいずれか隣接するマスが黒である必要がある。 -つまり黒マスが1つだけポツンと存在した場合はNGとなる。 -横チェック、縦チェック、の2つに分断して確認を行う。 +普通に全探索して問題あるか無いかを確認して行く。 +1行目、H行目、1列目、W列目だけは少し注意！！！ +→0行目、H+1行目、0列目、W+1列目を追加する -H, W = list(map(int, input().split())) -list_matu = [] +list_ = [] +list_.append(["." for i in range(W + 2)]) -    list_matu.append(list(eval(input()))) -## 横チェック -ng_matu = [] -for h in range(H):  ## 全レコードが対象 -    for w in range(1, W - 1):  ## 列ごとに実施 -        target = list_matu[h][w] -        target_left = list_matu[h][w - 1] -        target_right = list_matu[h][w + 1] -        if target == "#": -            if (target_left != "#") and (target_right != "#"): -                ng_matu.append([h, w]) -## 縦チェック -for w in range(W): -    for h in range(1, H - 1): -        target = list_matu[h][w] -        target_over = list_matu[h + 1][w] -        target_under = list_matu[h - 1][w] -        if target == "#": -            if (target_over != "#") and (target_under != "#"): -                if [h, w] in ng_matu: -                    print("No") -                    exit() -print("Yes") +    list_.append(list("." + eval(input()) + ".")) +list_.append(["." for i in range(W + 2)]) +ans = "Yes" +for h in range(H): +    for w in range(W): +        ## 黒にする箇所があった時に、上下左右のいずれかに黒色の箇所があればOK！！！ +        if list_[h][w] == "#": +            if list_[h - 1][w] == ".": +                if list_[h + 1][w] == ".": +                    if list_[h][w - 1] == ".": +                        if list_[h][w + 1] == ".": +                            ans = "No" +                            break +print(ans)