def checkDraw(S, y, x):

  return S[y][x] == '#'



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

S = [eval(input()) for _ in range(H)]



for h,ss in enumerate(S):

  for w,s in enumerate(ss):

    if s == '#':

      if h == 0:

        if w == 0:

          if checkDraw(S, h+1, w) or checkDraw(S, h, w+1):

            pass

          else:

            print('No')

            exit()

        elif w == W-1:

          if checkDraw(S, h+1, w) or checkDraw(S, h, w-1):

            pass

          else:

            print('No')

            exit()

        else:

          if checkDraw(S, h+1, w) or checkDraw(S, h, w-1) or checkDraw(S, h, w+1):

            pass

          else:

            print('No')

            exit()

      if h == H-1:

        if w == 0:

          if checkDraw(S, h-1, w) or checkDraw(S, h, w+1):

            pass

          else:

            print(('No',1))

            exit()

        elif w == W-1:

          if checkDraw(S, h-1, w) or checkDraw(S, h, w-1):

            pass

          else:

            print(('No',2))

            exit()

        else:

          if checkDraw(S, h-1, w) or checkDraw(S, h, w-1) or checkDraw(S, h, w+1):

            pass

          else:

            print(('No',3))

            exit()

      if w == 0 and 0 < h < H-1:

        if checkDraw(S, h+1, w) or checkDraw(S, h-1, w) or checkDraw(S, h, w+1):

          pass

        else:

          print('No')

          exit()

      if w == W-1 and 0 < h < H-1:

        if checkDraw(S, h+1, w) or checkDraw(S, h-1, w) or checkDraw(S, h, w-1):

          pass

        else:

          print('No')

          exit()

      if 0 < h < H-1 and 0< w < W-1:

        if checkDraw(S, h-1, w) or checkDraw(S, h+1, w) or checkDraw(S, h, w-1) or checkDraw(S, h, w+1):

          pass

        else:

          print('No')

          exit()



print('Yes')

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



pad_s = ['.'*(W+2)]

for h in range(H):

  pad_s.append('.' + input() + '.')

pad_s.append('.'*(W+2))



for i,ss in enumerate(pad_s):

  for j,s in enumerate(ss):

    if s == '#'\

      and pad_s[i][j+1] == '.'\

      and pad_s[i][j-1] == '.'\

      and pad_s[i+1][j] == '.'\

      and pad_s[i-1][j] == '.':

      print('No')

      exit()



print('Yes')

def checkDraw(S, y, x):
    return S[y][x] == "#"


H, W = list(map(int, input().split()))
S = [eval(input()) for _ in range(H)]
for h, ss in enumerate(S):
    for w, s in enumerate(ss):
        if s == "#":
            if h == 0:
                if w == 0:
                    if checkDraw(S, h + 1, w) or checkDraw(S, h, w + 1):
                        pass
                    else:
                        print("No")
                        exit()
                elif w == W - 1:
                    if checkDraw(S, h + 1, w) or checkDraw(S, h, w - 1):
                        pass
                    else:
                        print("No")
                        exit()
                else:
                    if (
                        checkDraw(S, h + 1, w)
                        or checkDraw(S, h, w - 1)
                        or checkDraw(S, h, w + 1)
                    ):
                        pass
                    else:
                        print("No")
                        exit()
            if h == H - 1:
                if w == 0:
                    if checkDraw(S, h - 1, w) or checkDraw(S, h, w + 1):
                        pass
                    else:
                        print(("No", 1))
                        exit()
                elif w == W - 1:
                    if checkDraw(S, h - 1, w) or checkDraw(S, h, w - 1):
                        pass
                    else:
                        print(("No", 2))
                        exit()
                else:
                    if (
                        checkDraw(S, h - 1, w)
                        or checkDraw(S, h, w - 1)
                        or checkDraw(S, h, w + 1)
                    ):
                        pass
                    else:
                        print(("No", 3))
                        exit()
            if w == 0 and 0 < h < H - 1:
                if (
                    checkDraw(S, h + 1, w)
                    or checkDraw(S, h - 1, w)
                    or checkDraw(S, h, w + 1)
                ):
                    pass
                else:
                    print("No")
                    exit()
            if w == W - 1 and 0 < h < H - 1:
                if (
                    checkDraw(S, h + 1, w)
                    or checkDraw(S, h - 1, w)
                    or checkDraw(S, h, w - 1)
                ):
                    pass
                else:
                    print("No")
                    exit()
            if 0 < h < H - 1 and 0 < w < W - 1:
                if (
                    checkDraw(S, h - 1, w)
                    or checkDraw(S, h + 1, w)
                    or checkDraw(S, h, w - 1)
                    or checkDraw(S, h, w + 1)
                ):
                    pass
                else:
                    print("No")
                    exit()
print("Yes")

H, W = map(int, input().split())
pad_s = ["." * (W + 2)]
for h in range(H):
    pad_s.append("." + input() + ".")
pad_s.append("." * (W + 2))
for i, ss in enumerate(pad_s):
    for j, s in enumerate(ss):
        if (
            s == "#"
            and pad_s[i][j + 1] == "."
            and pad_s[i][j - 1] == "."
            and pad_s[i + 1][j] == "."
            and pad_s[i - 1][j] == "."
        ):
            print("No")
            exit()
print("Yes")

-def checkDraw(S, y, x): -    return S[y][x] == "#" - - -H, W = list(map(int, input().split())) -S = [eval(input()) for _ in range(H)] -for h, ss in enumerate(S): -    for w, s in enumerate(ss): -        if s == "#": -            if h == 0: -                if w == 0: -                    if checkDraw(S, h + 1, w) or checkDraw(S, h, w + 1): -                        pass -                    else: -                        print("No") -                        exit() -                elif w == W - 1: -                    if checkDraw(S, h + 1, w) or checkDraw(S, h, w - 1): -                        pass -                    else: -                        print("No") -                        exit() -                else: -                    if ( -                        checkDraw(S, h + 1, w) -                        or checkDraw(S, h, w - 1) -                        or checkDraw(S, h, w + 1) -                    ): -                        pass -                    else: -                        print("No") -                        exit() -            if h == H - 1: -                if w == 0: -                    if checkDraw(S, h - 1, w) or checkDraw(S, h, w + 1): -                        pass -                    else: -                        print(("No", 1)) -                        exit() -                elif w == W - 1: -                    if checkDraw(S, h - 1, w) or checkDraw(S, h, w - 1): -                        pass -                    else: -                        print(("No", 2)) -                        exit() -                else: -                    if ( -                        checkDraw(S, h - 1, w) -                        or checkDraw(S, h, w - 1) -                        or checkDraw(S, h, w + 1) -                    ): -                        pass -                    else: -                        print(("No", 3)) -                        exit() -            if w == 0 and 0 < h < H - 1: -                if ( -                    checkDraw(S, h + 1, w) -                    or checkDraw(S, h - 1, w) -                    or checkDraw(S, h, w + 1) -                ): -                    pass -                else: -                    print("No") -                    exit() -            if w == W - 1 and 0 < h < H - 1: -                if ( -                    checkDraw(S, h + 1, w) -                    or checkDraw(S, h - 1, w) -                    or checkDraw(S, h, w - 1) -                ): -                    pass -                else: -                    print("No") -                    exit() -            if 0 < h < H - 1 and 0 < w < W - 1: -                if ( -                    checkDraw(S, h - 1, w) -                    or checkDraw(S, h + 1, w) -                    or checkDraw(S, h, w - 1) -                    or checkDraw(S, h, w + 1) -                ): -                    pass -                else: -                    print("No") -                    exit() +H, W = map(int, input().split()) +pad_s = ["." * (W + 2)] +for h in range(H): +    pad_s.append("." + input() + ".") +pad_s.append("." * (W + 2)) +for i, ss in enumerate(pad_s): +    for j, s in enumerate(ss): +        if ( +            s == "#" +            and pad_s[i][j + 1] == "." +            and pad_s[i][j - 1] == "." +            and pad_s[i + 1][j] == "." +            and pad_s[i - 1][j] == "." +        ): +            print("No") +            exit()