H, W = map(int, input().split())
s = [list(input()) for j in range(H)]

if s[0][0] == "#":
    #print(0, 0, "黒")
    if not (s[0][1] == "#" or s[1][0] == "#"):
        print("No")
        exit()

for j in range(1, W-1):
    if s[0][j] == "#":
     #   print(0, j, "黒")
        if not (s[1][j] == "#" or s[0][j - 1] == "#" or s[0][j + 1] == "#"):
            print("No")
            exit()

if s[0][-1] == "#":
    #print(0, -1, "黒")
    if not (s[0][-2] == "#" or s[1][-1] == "#"):
        print("No")
        exit()

for i in range(1, H-1):
    if s[i][0] == "#":
     #   print(i, 0, "黒")
        if not (s[i][1] == "#" or s[i-1][0] == "#" or s[i+1][0] == "#"):
            print("No")
            exit()

for i in range(1, H-1):
    if s[i][-1] == "#":
     #   print(i, -1, "黒")
        if not (s[i][-2] == "#" or s[i-1][0] == "#" or s[i+1][0] == "#"):
            print("No")
            exit()

if s[-1][0] == "#":
    #print(-1, 0, "黒")
    if not (s[-1][1] == "#" or s[-2][0] == "#"):
        print("No")
        exit()

for j in range(1, W-1):
    if s[-1][j] == "#":
     #   print(-1, j, "黒")
        if not (s[-2][j] == "#" or s[-1][j - 1] == "#" or s[-1][j + 1] == "#"):
            print("No")
            exit()

if s[-1][-1] == "#":
    #print(-1, -1, "黒")
    if not (s[-1][-2] == "#" or s[-2][-1] == "#"):
        print("No")
        exit()

for i in range(1, H-1):
    for j in range(1, W-1):
        if s[i][j] == "#":
     #       print(i, j, "黒")
            if not (s[i - 1][j] == "#" or s[i + 1][j] == "#" or s[i][j - 1] == "#" or s[i][j + 1] == "#"):
                print("No")
                exit()
print("Yes")
