import itertools,sys

def S(): return sys.stdin.readline().rstrip()

def LI(): return list(map(int,sys.stdin.readline().rstrip().split()))

H,W = LI()

s = [S() for _ in range(H)]

ans = 1

for i,j in itertools.product(list(range(H)),list(range(W))):

    if s[i][j]=='.':

        continue

    uh,uw,dh,dw = i-1,j,i+1,j

    lh,lw,rh,rw = i,j-1,i,j+1

    if not (0<=uh<=H-1) or not (0<=dh<=H-1) or not (0<=lh<=H-1) or not (0<=rh<=H-1):

        continue

    if not (0<=uw<=W-1) or not (0<=dw<=W-1) or not (0<=lw<=W-1) or not (0<=rw<=W-1):

        continue

    if s[uh][uw]=='#' or s[dh][dw]=='#' or s[lh][lw]=='#' or s[rh][rw]=='#':

        continue

    else:

        ans = 0

        break

print(({1:'Yes',0:'No'}[ans]))

import itertools,sys

def S(): return sys.stdin.readline().rstrip()

def LI(): return list(map(int,sys.stdin.readline().rstrip().split()))

H,W = LI()

s = [S() for _ in range(H)]

ans = 1

for i,j in itertools.product(list(range(H)),list(range(W))):

    if s[i][j]=='.':

        continue

    try:

        if s[i-1][j]=='#' or s[i+1][j]=='#' or s[i][j-1]=='#' or s[i][j+1]=='#':

            continue

    except:

        continue

    else:

        ans = 0

        break

print(({1:'Yes',0:'No'}[ans]))

import itertools, sys


def S():
    return sys.stdin.readline().rstrip()


def LI():
    return list(map(int, sys.stdin.readline().rstrip().split()))


H, W = LI()
s = [S() for _ in range(H)]
ans = 1
for i, j in itertools.product(list(range(H)), list(range(W))):
    if s[i][j] == ".":
        continue
    uh, uw, dh, dw = i - 1, j, i + 1, j
    lh, lw, rh, rw = i, j - 1, i, j + 1
    if (
        not (0 <= uh <= H - 1)
        or not (0 <= dh <= H - 1)
        or not (0 <= lh <= H - 1)
        or not (0 <= rh <= H - 1)
    ):
        continue
    if (
        not (0 <= uw <= W - 1)
        or not (0 <= dw <= W - 1)
        or not (0 <= lw <= W - 1)
        or not (0 <= rw <= W - 1)
    ):
        continue
    if s[uh][uw] == "#" or s[dh][dw] == "#" or s[lh][lw] == "#" or s[rh][rw] == "#":
        continue
    else:
        ans = 0
        break
print(({1: "Yes", 0: "No"}[ans]))

import itertools, sys


def S():
    return sys.stdin.readline().rstrip()


def LI():
    return list(map(int, sys.stdin.readline().rstrip().split()))


H, W = LI()
s = [S() for _ in range(H)]
ans = 1
for i, j in itertools.product(list(range(H)), list(range(W))):
    if s[i][j] == ".":
        continue
    try:
        if (
            s[i - 1][j] == "#"
            or s[i + 1][j] == "#"
            or s[i][j - 1] == "#"
            or s[i][j + 1] == "#"
        ):
            continue
    except:
        continue
    else:
        ans = 0
        break
print(({1: "Yes", 0: "No"}[ans]))

-    uh, uw, dh, dw = i - 1, j, i + 1, j -    lh, lw, rh, rw = i, j - 1, i, j + 1 -    if ( -        not (0 <= uh <= H - 1) -        or not (0 <= dh <= H - 1) -        or not (0 <= lh <= H - 1) -        or not (0 <= rh <= H - 1) -    ): -        continue -    if ( -        not (0 <= uw <= W - 1) -        or not (0 <= dw <= W - 1) -        or not (0 <= lw <= W - 1) -        or not (0 <= rw <= W - 1) -    ): -        continue -    if s[uh][uw] == "#" or s[dh][dw] == "#" or s[lh][lw] == "#" or s[rh][rw] == "#": +    try: +        if ( +            s[i - 1][j] == "#" +            or s[i + 1][j] == "#" +            or s[i][j - 1] == "#" +            or s[i][j + 1] == "#" +        ): +            continue +    except: