def main():
	H, W = map(int, input().split())
	S = [""]*H
	visit = [[False for _ in range(W)] for _ in range(H) ]
	for i in range(H):
		S[i] = input()

	stack = []
	for i in range(H):
		for j in range(W):
			stack.append([i, j])
			while stack:
				current = stack.pop()
				if S[current[0]][current[1]] == ".":
					continue

				if current[1] < W-1 and S[current[0]][current[1]+1] == "#":
					stack.append([current[0], current[1]+1])
					visit[current[0]][current[1]+1] = True
					visit[current[0]][current[1]] = True
				if current[0] < H-1 and S[current[0]+1][current[1]] == "#":
					stack.append([current[0]+1, current[1]])
					visit[current[0]+1][current[1]] = True
					visit[current[0]][current[1]] = True

	for i in range(H):
		for j in range(W):
			if S[i][j] == "#":
				if not visit[i][j]:
					print("No")
					return


	print("Yes")



if __name__ == '__main__':
    main()