func_code_string: #include <bits/stdc++.h>   using namespace std;   int main() {     long int n, m;     cin >> n;     cin >> m;     char str[2002][2002];     long int A[10002][2];     long int cnt = 0;     long int i, j;     for (i = 0; i < n; i++) {       cin >> str[i];       for (j = 0; j < m; j++) {         if (str[i][j] ==  w ) {           A[cnt][0] = i;           A[cnt][1] = j;           cnt++;         }       }     }     long int i_min = n, i_max = 0, j_min = m, j_max = 0;     for (i = 0; i < cnt; i++) {       if (A[i][0] < i_min) i_min = A[i][0];       if (A[i][0] > i_max) i_max = A[i][0];       if (A[i][1] < j_min) j_min = A[i][1];       if (A[i][1] > j_max) j_max = A[i][1];     }     long int dim;     long int Idy = -1;     long int Idx = -1;     if (i_max - i_min > j_max - j_min) {       dim = i_max - i_min + 1;       for (i = 0; i < cnt; i++) {         if (A[i][0] != i_max && A[i][0] != i_min) {           Idy = A[i][1];           break;         }       }       if (Idy == -1) {         if (m - j_min > dim)           j_max = j_min + dim - 1;         else {           j_max = m - 1;           j_min = j_max - dim + 1;         }       } else {         if (j_max == j_min) {           if (j_min + dim - 1 < m)             j_max = j_min + dim - 1;           else             j_min = j_max - dim + 1;         } else {           if (Idy == j_min)             j_max = j_min + dim - 1;           else             j_min = j_max - dim + 1;         }       }     } else if (i_max - i_min < j_max - j_min) {       dim = j_max - j_min + 1;       for (i = 0; i < cnt; i++) {         if (A[i][1] != j_max && A[i][1] != j_min) {           Idx = A[i][0];           break;         }       }       if (Idx == -1) {         if (n - i_min > dim)           i_max = i_min + dim - 1;         else {           i_max = n - 1;           i_min = i_max - dim + 1;         }       } else {         if (i_max == i_min) {           if (i_min + dim - 1 < n)             i_max = i_min + dim - 1;           else             i_min = i_max - dim + 1;         } else {           if (Idx == i_min)             i_max = i_min + dim - 1;           else             i_min = i_max - dim + 1;         }       }     }     if (!((i_max < n) && (i_min >= 0) && (j_max < m) && (j_min >= 0))) {       cout <<  -1             <<   n ;       return 0;     }     long int cnt2 = 0;     for (j = j_min; j <= j_max; j++) {       if (str[i_min][j] ==  w )         cnt2++;       else         str[i_min][j] =  + ;       if (i_max == i_min) continue;       if (str[i_max][j] ==  w )         cnt2++;       else         str[i_max][j] =  + ;     }     for (i = i_min + 1; i < i_max; i++) {       if (str[i][j_min] ==  w )         cnt2++;       else         str[i][j_min] =  + ;       if (j_max == j_min) continue;       if (str[i][j_max] ==  w )         cnt2++;       else         str[i][j_max] =  + ;     }     if (cnt == -1) {       for (i = 0; i < 2000; i++) cout <<  w ;       cout << endl;       for (i = 1; i < 2000 - 1; i++) {         cout <<  w ;         for (j = 1; j < 1999; j++) cout <<  . ;         cout <<  w ;         cout << endl;       }       for (i = 0; i < 2000; i++) cout <<  w ;       cout << endl;       return 0;     }     if (cnt != cnt2) {       cout <<  -1 n ;       return 0;     }     for (i = 0; i < n; i++) {       for (j = 0; j < m; j++) cout << str[i][j];       cout <<   n ;     }     return 0;   }   