#include <bits/stdc++.h>
using namespace std;
int di[] = {0, 1, 2, 1, 1};
int dj[] = {0, 0, 0, -1, 1};
void invalid() {
  cout << "NO" << endl;
  exit(0);
}
int main() {
  int N;
  cin >> N;
  vector<string> V(N);
  for (string &s : V) cin >> s;
  for (int i = 0; i < N; ++i) {
    for (int j = 0; j < N; ++j) {
      if (V[i][j] == '#') {
        int ok = 1;
        for (int k = 0; k < 5; ++k) {
          int ni = i + di[k];
          int nj = j + dj[k];
          if (ni < 0 || ni >= N || nj < 0 || nj >= N) {
            invalid();
          }
          if (V[ni][nj] != '#') {
            invalid();
          }
          V[ni][nj] = '.';
        }
      }
    }
  }
  cout << "YES" << endl;
}
