def main():
    H, W = map(int, input().split())
    S = tuple(input() for _ in [0] * H)

    grid = ['.' * (W + 2)]
    apnd = grid.append
    for s in S:
        apnd('.' + s + '.')
    apnd('.' * (W + 2))

    for i in range(1, H + 1):
        j = grid[i].find('#')
        if j > -1:
            if grid[i-1][j] == grid[i+1][j] == grid[i][j-1] == grid[i][j+1] == '.':
                ans = 'No'
                break
    else:
        ans = 'Yes'

    print(ans)

main()
