Fox Ciel has a board with *n* rows and *n* columns. So, the board consists of *n* × *n* cells. Each cell contains either a symbol '.', or a symbol '#'.

A cross on the board is a connected set of exactly five cells of the board that looks like a cross. The picture below shows how it looks.

Ciel wants to draw several (may be zero) crosses on the board. Each cross must cover exactly five cells with symbols '#', and any cell with symbol '#' must belong to some cross. No two crosses can share a cell.

Please, tell Ciel if she can draw the crosses in the described way.
The first line contains an integer *n* (3 ≤ *n* ≤ 100) — the size of the board.

Each of the next *n* lines describes one row of the board. The *i*-th line describes the *i*-th row of the board and consists of *n* characters. Each character is either a symbol '.', or a symbol '#'.
n = int(input())
a = [list(input()) for i in range(n)]
for x in range(n):
	for y in range(n):
		if a[x][y] == '#':
			for dx, dy in (1,-1),(1,0),(1,1),(2,0):
				xx = x + dx
				yy = y + dy
				if xx < 0 or xx >= n or yy < 0 or yy >= n or a[xx][yy] != '#':
					print("NO")
					exit(0)
				else:
					a[xx][yy] = '.'
print('YES')
