#include <bits/stdc++.h>
char map[105][105];
int n;
int clear(int x, int y) {
  if (x < 0 || x >= n || y < 0 || y >= n) return false;
  if (map[x][y] == '.') return false;
  map[x][y] = '.';
  return true;
}
int main() {
  scanf("%d\n", &n);
  for (int i = 0; i < n; i++, scanf("\n"))
    for (int j = 0; j < n; j++) scanf("%c", &map[i][j]);
  for (int i = 0; i < n; i++)
    for (int j = 0; j < n; j++)
      if (map[i][j] == '#') {
        int p = clear(i, j) && clear(i + 1, j) && clear(i + 1, j - 1) &&
                clear(i + 1, j + 1) && clear(i + 2, j);
        if (!p) {
          printf("NO\n");
          return 0;
        }
      }
  printf("YES\n");
  return 0;
}
