H, W = map(int, input().split())
graph = []
for _ in range(H):
    graph.append([0 if e == '.' else 1 for e in list(input())])

xx = [-1, 0, 1, 0]
yy = [0, -1, 0, 1]


def isValidTransition(x, y, H, W):
    return 0 <= x and x < W and 0 <= y and y < H

def dfs(x, y):
    graph[x][y] = 0
    flag = False
    for idx in range(4):
        nx, ny = x + xx[idx], y + yy[idx]
        if isValidTransition(nx, ny, H, W) and graph[nx][ny] == 1:
            dfs(nx, ny)
            flag = True
    return flag

res = True

for i in range(W):
    for j in range(i, H):
        if graph[i][j] == 1 and not dfs(i, j):
            res = False
            break
    if not res:
        break

print('Yes' if res else 'No')