#include <bits/stdc++.h>
using namespace std;
const int INF = 1000000007;
const int N = 123;
char a[N][N];
int n;
int dx[] = {0, 1, 1, 1, 2};
int dy[] = {0, -1, 0, 1, 0};
void d(int x, int y) {
  for (int i = 0; i < 5; i++) {
    int ix = x + dx[i];
    int iy = y + dy[i];
    if (ix < 1 || ix > n || iy < 1 || iy > n) return;
    if (a[ix][iy] != '#') return;
  }
  for (int i = 0; i < 5; i++) {
    int ix = x + dx[i];
    int iy = y + dy[i];
    a[ix][iy] = '.';
  }
}
int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) {
    scanf("\n");
    for (int j = 1; j <= n; j++) scanf("%c", &a[i][j]);
  }
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= n; j++)
      if (a[i][j] == '#') d(i, j);
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= n; j++)
      if (a[i][j] == '#') {
        printf("NO\n");
        return 0;
      }
  printf("YES\n");
}
