h, w = map(int, input().split())
box = [["."] + list(input()) + ["."] for i in range(h)]
box.insert(0, ["."] * (w + 2))
box.append(["."] * (w + 2))


def seek(box, i, j):
    if box[i][j] == "#":
        for x, y in [[1, 0], [-1, 0], [0, 1], [0, -1]]:
            xx = x + i
            yy = y + j
            if box[xx][yy] == "#" or box[xx][yy] == "O":
                box[i][j] = "O"
                seek(box, xx, yy)
    return box


for i in range(1, h + 1):
    for j in range(1, w + 1):
        seek(box, i, j)

for i in range(1, h + 1):
    for j in range(1, w + 1):
        if box[i][j] == "#":
            print("No")
            exit()

print("Yes")