def t(H, W, S): for dy in range(H): for dx in range(W): bs = list(S) for y in range(H - dy): for x in range(W - dx): x1 = 1 << x x1dx = x1 << dx if bs[y] & x1: bs[y] -= x1 bs[y + dy] -= x1dx if all(b == 0 for b in bs): return True def solve(): H, W = list(map(int, input().split())) S = [0] * H for i in range(H): s = input() S[i] = sum(1 << i for i in range(W) if s[i] == '#') if sum(S) == 0: return False return t(H, W, S) or t(H, W, S[::-1]) def main(): print('YES' if solve() else 'NO') if __name__ == '__main__': main()