```go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
in := bufio.NewReader(os.Stdin)
var n int
fmt.Fscan(in, &n)
g := make([][]byte, n)
for i := 0; i < n; i++ {
var s string
fmt.Fscan(in, &s)
g[i] = []byte(s)
}
for i := 1; i <= n-2; i++ {
for j := 1; j <= n-2; j++ {
if g[i][j] == '#' && g[i-1][j] == '#' && g[i+1][j] == '#' && g[i][j-1] == '#' && g[i][j+1] == '#' {
g[i][j] = '.'
g[i-1][j] = '.'
g[i+1][j] = '.'
g[i][j-1] = '.'
g[i][j+1] = '.'
}
}
}
for i := 0; i < n; i++ {
for j := 0; j < n; j++ {
if g[i][j] == '#' {
fmt.Print("NO")
return
}
}
}
fmt.Print("YES")
}
```