func_code_string: #include <bits/stdc++.h>   using namespace std;   const int maxn = ((int)5e2) + 5;   vector<string> str;   int main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     int n, m;     cin >> n >> m;     for (int i = 0; i < n; i++) {       string s;       cin >> s;       str.push_back(s);     }     vector<string> comb = { 12 ,  23 ,  34 ,  31 ,  14 ,  24 };     for (int i = 0; i < 2; i++) {       for (int c = 0; c < 6; c++) {         string first[2];         first[0] = comb[c];         first[1] = comb[c];         reverse(first[1].begin(), first[1].end());         set<char> t = { 1 ,  2 ,  3 ,  4 };         t.erase(comb[c][0]);         t.erase(comb[c][1]);         string sec[2];         sec[0] += (*t.begin());         t.erase(t.begin());         sec[0] += (*t.begin());         sec[1] = sec[0];         reverse(sec[1].begin(), sec[1].end());         vector<string> board;         for (int row = 0; row < n; row++) {           string r;           string* pattern = first;           if (row & 1) pattern = sec;           bool ok = true;           for (int ver = 0; ver < 2; ver++) {             ok = true;             for (int col = 0; col < m; col++) {               r += pattern[ver][col & 1];               if (str[row][col] !=  0  && r[col] != str[row][col]) {                 ok = false;                 break;               }             }             if (ok)               break;             else               r =   ;           }           if (ok) board.push_back(r);         }         if (board.size() == n) {           if (i == 0)             for (int j = 0; j < n; j++) cout << board[j] << endl;           else {             for (int col = 0; col < m; col++) {               string temp;               for (int row = 0; row < n; row++) {                 temp.push_back(board[row][col]);               }               cout << temp << endl;             }           }           return 0;         }       }       vector<string> arr;       for (int col = 0; col < m; col++) {         string temp;         for (int row = 0; row < n; row++) {           temp.push_back(str[row][col]);         }         arr.push_back(temp);       }       str = arr;       swap(n, m);     }     cout <<  0 ;     return 0;   }   