func_code_string: #include <bits/stdc++.h>   using namespace std;   int matriz[1010][1010];   void verifica(int i, int j);   int main(void) {     int n, m, d;     d = 0;     cin >> n >> m;     for (int i = 0; i < n; i++) {       for (int j = 0; j < m; j++) {         char a;         cin >> a;         if (a ==  # ) {           matriz[i][j] = 0;           d++;         } else           matriz[i][j] = -1;       }     }     for (int i = 1; i <= n - 2; i++) {       for (int j = 1; j <= m - 2; j++) {         verifica(i, j);       }     }     int h = 0;     for (int i = 0; i < n; i++) {       for (int j = 0; j < m; j++) {         if (matriz[i][j] > 0) {           h++;         }       }     }     if (d == 0) {       cout <<  YES  << endl;     } else {       if ((h == d) && (h != 0)) {         cout <<  YES  << endl;       } else {         cout <<  NO  << endl;       }     }   }   void verifica(int a, int b) {     int k = 1;     if ((matriz[a - 1][b - 1] == -1) || (matriz[a - 1][b] == -1) ||         (matriz[a - 1][b + 1] == -1) || (matriz[a][b - 1] == -1) ||         (matriz[a][b + 1] == -1) || (matriz[a + 1][b - 1] == -1) ||         (matriz[a + 1][b] == -1) || (matriz[a + 1][b + 1] == -1)) {       k = 0;     }     if (k) {       matriz[a - 1][b - 1] += 1;       matriz[a - 1][b] += 1;       matriz[a - 1][b + 1] += 1;       matriz[a][b - 1] += 1;       matriz[a][b + 1] += 1;       matriz[a + 1][b - 1] += 1;       matriz[a + 1][b] += 1;       matriz[a + 1][b + 1] += 1;     }   }   