h, w = input().split()
h = int(h)
w = int(w)
field = []
for _ in range(h):
    field.append(input())

ans = True
for i in range(h):
    for j in range(w):
        if field[i][j] == '#':
            temp = 0
            que = list()
            que.append((i, j))
            while que:
                x, y = que.pop(0)
                temp += 1
                string = list(field[x])
                string[y] = '.'
                field[x] = ''.join(string)
                dd = [(1, 0), (-1, 0), (0, 1), (0, -1)]
                for ddd in dd:
                    dx, dy = ddd
                    nx, ny = x + dx, y + dy
                    if nx >= 0 and nx < h and ny >= 0 and ny < w and field[nx][ny] == '#':
                        que.append((nx, ny))
            if temp == 1:
                ans = False
                break

if ans:
    print("Yes")
else:
    print("No")