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 '#'.
def fits(x, y):
    global n
    return x >= 0 and x < n and y >= 0 and y < n

def paint(x, y):
    global a
    a[x][y] = '.'
    a[x - 1][y] = '.'
    a[x + 1][y] = '.'
    a[x][y - 1] = '.'
    a[x][y + 1] = '.'

def check(x, y):
    global a
    dx = [0, 0, -1, 1]
    dy = [1, -1, 0, 0]
    cnt = 0
    for i in range(4):
        if (fits(x + dx[i], y + dy[i]) and a[x + dx[i]][y + dy[i]] == '#'):
            cnt += 1
    if (cnt == 4):
        paint(x, y)

n = int(input())
a = []
for i in range(n):
    a.append(list(input()))
for i in range(n):
    for j in range(n):
        check(i, j)
cnt = 0
for el in a:
    for el2 in el:
        if el2 == '#':
            cnt += 1

if (cnt == 0):
    print('YES')
else:
    print('NO')
