func_code_string: #include <bits/stdc++.h>   using namespace std;   int n;   bool check(vector<vector<char>>& v, int x, int y) {     if (x + 2 >= 0 && y - 1 >= 0 && y + 1 < n && v[x + 1][y] ==  #  &&         v[x + 2][y] ==  #  && v[x + 1][y + 1] ==  #  && v[x + 1][y - 1] ==  # ) {       v[x][y] = v[x + 1][y] = v[x + 2][y] = v[x + 1][y + 1] = v[x + 1][y - 1] =            . ;       return true;     }     if (y + 2 < n && x - 1 >= 0 && x + 1 < n && v[x][y + 1] ==  #  &&         v[x][y + 2] ==  #  && v[x - 1][y + 1] ==  #  && v[x + 1][y + 1] ==  # ) {       v[x][y] = v[x][y + 1] = v[x][y + 2] = v[x - 1][y + 1] = v[x + 1][y + 1] =            . ;       return true;     }     return false;   }   void print(vector<vector<char>> v) {     for (int i = 0; i < n; i++) {       for (int j = 0; j < n; j++) {         cout << v[i][j];       }       cout << endl;     }   }   int main() {     cin >> n;     vector<vector<char>> v(n, vector<char>(n));     for (int i = 0; i < n; i++) {       for (int j = 0; j < n; j++) {         cin >> v[i][j];       }     }     if (v[0][0] ==  #  || v[n - 1][0] ==  #  || v[0][n - 1] ==  #  ||         v[n - 1][n - 1] ==  # ) {       cout <<  NO ;       return 0;     }     int x, y;     for (int i = 0; i < n; i++) {       for (int j = 0; j < n; j++) {         if (v[i][j] ==  # ) {           if (!check(v, i, j)) {             cout <<  NO ;             return 0;           }         }       }     }     cout <<  YES ;   }   