#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9 + 7;
template <class C>
inline void mini(C& a4, C b4) {
  a4 = min(a4, b4);
}
template <class C>
inline void maxi(C& a4, C b4) {
  a4 = max(a4, b4);
}
int n;
char a[107][107];
bool vis[107][107];
int main() {
  scanf("%d", &n);
  for (int i = (1); i <= (n); i++) {
    for (int j = (1); j <= (n); j++) cin >> a[i][j];
  }
  for (int i = (1); i <= (n); i++) {
    for (int j = (1); j <= (n); j++) {
      if (a[i][j] == '#') {
        if (i - 1 > 0 && i + 1 <= n && j - 1 > 0 && j + 1 <= n) {
          if (a[i - 1][j] == '#' && a[i + 1][j] == '#' && a[i][j - 1] == '#' &&
              a[i][j + 1] == '#')
            if (!vis[i - 1][j] && !vis[i + 1][j] && !vis[i][j + 1] &&
                !vis[i][j - 1]) {
              vis[i - 1][j] = true;
              vis[i + 1][j] = true;
              vis[i][j + 1] = true;
              vis[i][j - 1] = true;
              vis[i][j] = true;
            }
        }
      }
    }
  }
  for (int i = (1); i <= (n); i++) {
    for (int j = (1); j <= (n); j++) {
      if (a[i][j] == '#' && !vis[i][j]) {
        puts("NO");
        return 0;
      }
    }
  }
  puts("YES");
}
