H,W = [int(i) for i in input().split()] mass = [] for i in range(H): mass.append(input()) black = [[False for i in range(W)] for j in range(H)] black_count = 0 black_mass = [] for i in range(H): for j in range(W): if mass[i][j]=="#": black[i][j]=True black_mass.append([i,j]) black_count+=1 else: black[i][j]=False ans=False if len(black_mass)!=0: ref_point=black_mass[0] for move_point in black_mass: if move_point == ref_point: continue paired_mass=[] paired_mass.append(ref_point) paired_mass.append(move_point) diff=[move_point[0]-ref_point[0],move_point[1]-ref_point[1]] for test_point in black_mass: if(test_point in paired_mass): continue tmp_add=[test_point[0]+diff[0],test_point[1]+diff[1]] if(test_point[0]+diff[0]>=H or test_point[1]+diff[1]>=W): break elif(black[test_point[0]+diff[0]][test_point[1]+diff[1]]==False): break paired_mass.append(test_point) paired_mass.append(tmp_add) if len(paired_mass)==len(black_mass): ans=True break print("YES" if ans==True else "NO")