#include <bits/stdc++.h>
using namespace std;
char matriz[102][102];
int visitados[102][102], k;
int primero(int i, int j) {
  visitados[i][j] = 1;
  if (matriz[i][j + 1] != '.') return 1;
  if (matriz[i + 1][j - 1] != '#' || matriz[i + 1][j] != '#' ||
      matriz[i + 1][j + 1] != '#' || matriz[i + 2][j] != '#')
    return 1;
  visitados[i + 1][j - 1] = visitados[i + 1][j] = visitados[i + 1][j + 1] =
      visitados[i + 2][j] = 1;
  return 0;
}
int marcar(int i, int j) {
  visitados[i][j] = 1;
  if (matriz[i + 1][j - 1] != '#' || matriz[i + 1][j] != '#' ||
      matriz[i + 1][j + 1] != '#' || matriz[i + 2][j] != '#' ||
      visitados[i + 1][j - 1] == 1 || visitados[i + 1][j] == 1 ||
      visitados[i + 1][j + 1] == 1 || visitados[i + 2][j] == 1)
    return 1;
  visitados[i + 1][j - 1] = visitados[i + 1][j] = visitados[i + 1][j + 1] =
      visitados[i + 2][j] = 1;
  return 0;
}
int main() {
  int n, i, j, x = -1, y;
  cin >> n;
  for (i = 1; i <= n; i++) {
    for (j = 1; j <= n; j++) {
      cin >> matriz[i][j];
      if (x == -1) {
        if (matriz[i][j] == '#') {
          x = i;
          y = j;
        }
      }
    }
  }
  if (x == -1) {
    cout << "YES";
    return 0;
  }
  if (matriz[1][1] == '#' || matriz[1][n] == '#' || matriz[n][1] == '#' ||
      matriz[n][n] == '#') {
    cout << "NO";
    return 0;
  }
  if (primero(x, y) == 1) {
    cout << "NO";
    return 0;
  }
  for (i = 1; i <= n; i++) {
    for (j = 1; j <= n; j++) {
      if (matriz[i][j] == '#' && visitados[i][j] == 0) {
        if (marcar(i, j) == 1) {
          cout << "NO";
          return 0;
        }
      }
    }
  }
  cout << "YES";
  return 0;
}
