H, W = list(map(int, input().split()))



T=0

if H==1 & W==1:

	print("No")

	T=1





D=0

Numlist = []

for i in range(H):

	D+=100

	I=0

	RawList = []

	RawList = list(eval(input()))



	for j in range(W):

		CheckNum = RawList[j]

		I+=1



		if CheckNum == "#":

			Numlist.append(D+I)



N=0

for k in range(len(Numlist)):

	A = Numlist[k]

#	print(A)



	OK=0



	if (A+1) in Numlist:

		OK+=1

	if (A-1) in Numlist:

		OK+=1

	if (A+100) in Numlist:

		OK+=1

	if (A-100) in Numlist:

		OK+=1



	if OK == 0 and T==0:

		print("No")

		N=1

		break

#	print(OK)



if N==0 and T==0:

	print("Yes")





H, W = list(map(int, input().split()))

S = [list(eval(input())) for _ in range(H)]

S_eval = [[1] * W for _ in range(H)]



# 横

for i in range(H):

    for j in range(W - 1):

        if S[i][j] == '.':

            S_eval[i][j] = 0

        if S[i][j + 1] == '.':

            S_eval[i][j + 1] = 0

        if S[i][j] == S[i][j + 1] == '#':

            S_eval[i][j] = S_eval[i][j + 1] = 0

        

# 縦

for i in range(H - 1):

    for j in range(W):

        if S[i][j] == S[i + 1][j] == '#':

            S_eval[i][j] = S_eval[i + 1][j] = 0



sum_value = 0

for i in range(H):

    sum_value += sum(S_eval[i])

ans = 'No'

if sum_value == 0:

    ans = 'Yes'



print(ans)
H, W = list(map(int, input().split()))
T = 0
if H == 1 & W == 1:
    print("No")
    T = 1
D = 0
Numlist = []
for i in range(H):
    D += 100
    I = 0
    RawList = []
    RawList = list(eval(input()))
    for j in range(W):
        CheckNum = RawList[j]
        I += 1
        if CheckNum == "#":
            Numlist.append(D + I)
N = 0
for k in range(len(Numlist)):
    A = Numlist[k]
    # 	print(A)
    OK = 0
    if (A + 1) in Numlist:
        OK += 1
    if (A - 1) in Numlist:
        OK += 1
    if (A + 100) in Numlist:
        OK += 1
    if (A - 100) in Numlist:
        OK += 1
    if OK == 0 and T == 0:
        print("No")
        N = 1
        break
# 	print(OK)
if N == 0 and T == 0:
    print("Yes")

H, W = list(map(int, input().split()))
S = [list(eval(input())) for _ in range(H)]
S_eval = [[1] * W for _ in range(H)]
# 横
for i in range(H):
    for j in range(W - 1):
        if S[i][j] == ".":
            S_eval[i][j] = 0
        if S[i][j + 1] == ".":
            S_eval[i][j + 1] = 0
        if S[i][j] == S[i][j + 1] == "#":
            S_eval[i][j] = S_eval[i][j + 1] = 0
# 縦
for i in range(H - 1):
    for j in range(W):
        if S[i][j] == S[i + 1][j] == "#":
            S_eval[i][j] = S_eval[i + 1][j] = 0
sum_value = 0
for i in range(H):
    sum_value += sum(S_eval[i])
ans = "No"
if sum_value == 0:
    ans = "Yes"
print(ans)

-T = 0 -if H == 1 & W == 1: -    print("No") -    T = 1 -D = 0 -Numlist = [] +S = [list(eval(input())) for _ in range(H)] +S_eval = [[1] * W for _ in range(H)] +# 横 -    D += 100 -    I = 0 -    RawList = [] -    RawList = list(eval(input())) +    for j in range(W - 1): +        if S[i][j] == ".": +            S_eval[i][j] = 0 +        if S[i][j + 1] == ".": +            S_eval[i][j + 1] = 0 +        if S[i][j] == S[i][j + 1] == "#": +            S_eval[i][j] = S_eval[i][j + 1] = 0 +# 縦 +for i in range(H - 1): -        CheckNum = RawList[j] -        I += 1 -        if CheckNum == "#": -            Numlist.append(D + I) -N = 0 -for k in range(len(Numlist)): -    A = Numlist[k] -    # 	print(A) -    OK = 0 -    if (A + 1) in Numlist: -        OK += 1 -    if (A - 1) in Numlist: -        OK += 1 -    if (A + 100) in Numlist: -        OK += 1 -    if (A - 100) in Numlist: -        OK += 1 -    if OK == 0 and T == 0: -        print("No") -        N = 1 -        break -# 	print(OK) -if N == 0 and T == 0: -    print("Yes") +        if S[i][j] == S[i + 1][j] == "#": +            S_eval[i][j] = S_eval[i + 1][j] = 0 +sum_value = 0 +for i in range(H): +    sum_value += sum(S_eval[i]) +ans = "No" +if sum_value == 0: +    ans = "Yes" +print(ans)