""" 1<=h,w<=50 """ def main1(h,w,s): ary=[] for i in range(h): for j in range(w): if s[i][j]=="#": ary.append((i,j)) if len(ary)%2==1:return False # 平行移動のパターンはH*W-1 # すべて試す ary_st=set(ary) for i in range(h): for j in range(w): if i==0 and j==0:continue flg=True st=set() for x,y in ary: if (x,y) in st:continue if (x+i,y+j) in ary_st: st.add((x+i,y+j)) st.add((x,y)) pass else: flg=False break if flg: return True return False if __name__=='__main__': h,w=map(int,input().split()) s=[input() for _ in range(h)] ret1=main1(h,w,s) if ret1: print("Yes") else: print("No")