import strutils, sequtils, algorithm, math proc solve(): string = var hw = readLine(stdin).split(' ').map(parseInt) board = newSeq[string](hw[0]) tBoard = newSeq[string](hw[0]) co: int # tmpCo: int flag = false for i in countup(0, hw[0] - 1): board[i] = readLine(stdin) co += board[i].count('#') if co == 0: return "NO" for hMove in countup(0, hw[0] - 1): for wMove in countup(-hw[1] + 1, hw[1] - 1): if hMove == 0 and wMove == 0: continue flag = false # tmpCo = 0 for h in countup(0, hw[0] - 1): tBoard[h] = board[h] for h in countup(0, hw[0] - 1): for w in countup(0, hw[1] - 1): if tBoard[h][w] == '#': if hMove + h >= hw[0] or wMove + w >= hw[1] or wMove + w < 0: flag = true break if tBoard[hMove + h][wMove + w] == '#': # tmpCo += 1 tBoard[h][w] = 'R' tBoard[hMove + h][wMove + w] = 'B' else: flag = true break # else: # flag = true # break if flag: break if not flag: return "YES" return "NO" echo(solve())