h, w = [ int(v) for v in input().split() ] field = [] paint_list = [] for i in range(h): s = input() for j in range(len(s)): if s[j] == "#": paint_list.append((i,j)) move_list = [] for i in range((h+1)//2): for j in range((w+1)//2): move_list.append((i,j)) move_list = move_list[1:] def paint(inlist): global paint_list y, x = inlist[0], inlist[1] red_list = [] blue_list = [] result = 0 for i in paint_list: if i not in blue_list: red_list.append(i) j = (i[0]+y,i[1]+x) if j in paint_list: blue_list.append(j) else: result = -1 break return result ans = "NO" for i in move_list: if paint(i) == 0: ans = "YES" break print(ans)