#!/usr/bin/python import sys def find_r(H, W, S): for y in range(H): for x in range(W): if S[y][x] == "#": return x, y print "NO" sys.exit(0) def check(B, rx, ry, bx, by): # print rx, ry, bx, by cy = by - ry cx = bx - rx for y in range(H): for x in range(W): if B[y][x] == "#": B[y][x] = "R" if y+cy not in range(H): return False if x+cx not in range(W): return False if B[y+cy][x+cx] == "#": B[y+cy][x+cx] = "B" else: return False return True def print_s(S): print "\n".join(["".join(x) for x in S]) H, W = map(int, raw_input().split()) #print H, W S = [] for i in range(H): S.append(list(raw_input())) rx, ry = find_r(H, W, S) S[ry][rx] = "R" #print rx, ry, S for by in range(H): for bx in range(W): if S[by][bx] != "#": continue B = map(list, S) B[by][bx] = "B" if check(B, rx, ry, bx, by): print "YES" # print_s(B) sys.exit(0) print "NO"