func_code_string: #include <bits/stdc++.h>   using namespace std;   const int maxn = 1001;   const int maxm = 1001;   char c[maxn][maxm];   int n, m;   int pair_num[maxn][maxm];   int pair_cnt;   int temp_color[maxn][maxm];   map<int, int> Color;   int main() {     scanf( %d%d n , &n, &m);     for (int i = 0, _n = (n); i < _n; i++) {       for (int j = 0, _n = (m); j < _n; j++) {         scanf( %c , &c[i][j]);       }       scanf(  n );     }     for (int i = 0, _n = (n); i < _n; i++) {       for (int j = 0, _n = (m); j < _n; j++) {         if (j < m - 1 && c[i][j] ==  .  && c[i][j + 1] ==  .  &&             !pair_num[i][j] && !pair_num[i][j + 1]) {           pair_num[i][j] = pair_num[i][j + 1] = ++pair_cnt;         }         if (i < n - 1 && c[i][j] ==  .  && c[i + 1][j] ==  .  &&             !pair_num[i][j] && !pair_num[i + 1][j]) {           pair_num[i][j] = pair_num[i + 1][j] = ++pair_cnt;         }       }     }     for (int i = 0, _n = (n); i < _n; i++) {       for (int j = 0, _n = (m); j < _n; j++) {         if (c[i][j] ==  .  && !pair_num[i][j]) {           if (j && pair_num[i][j - 1]) {             pair_num[i][j] = pair_num[i][j - 1];           } else if (i && pair_num[i - 1][j]) {             pair_num[i][j] = pair_num[i - 1][j];           } else if (i != n - 1 && pair_num[i + 1][j]) {             pair_num[i][j] = pair_num[i + 1][j];           } else if (j != m - 1 && pair_num[i][j + 1]) {             pair_num[i][j] = pair_num[i][j + 1];           } else {             printf( -1 n );             return 0;           }         }       }     }     for (int i = 0, _n = (n); i < _n; i++)       for (int j = 0, _n = (m); j < _n; j++)         temp_color[i][j] = (i % 3) * 3 + j % 3;     for (int i = 0, _n = (n); i < _n; i++) {       for (int j = 0, _n = (m); j < _n; j++) {         if (c[i][j] ==  .  && (i + j) % 2 == 0) {           if (Color.count(pair_num[i][j]) == 0)             Color[pair_num[i][j]] = temp_color[i][j];         }       }     }     for (int i = 0, _n = (n); i < _n; i++) {       for (int j = 0, _n = (m); j < _n; j++) {         if (c[i][j] ==  . )           printf( %d , Color[pair_num[i][j]]);         else           printf( # );       }       printf(  n );     }     return 0;   }   