func_code_string: #include <bits/stdc++.h>   using namespace std;   int p[105][105];   char s[105][105];   int n, m;   long long k;   void color(int x, int y, char c) {     while (x < n && y >= 0) {       s[x][y] = c;       x++;       y--;     }   }   vector<pair<pair<int, int>, pair<int, int> > > v;   vector<int> vals;   long long mem[305][305];   int vis[305][305];   int id;   long long add(long long x, long long y) {     if (x < 0 || y < 0) return -1;     long long z = x + y;     if (z >= k) return -1;     return z;   }   long long solve(int ind, int r) {     if (r < 0) return 0;     if (ind >= int(vals.size())) return r == 0;     if (vis[ind][r] == id) return mem[ind][r];     vis[ind][r] = id;     long long ans = 0;     if (vals[ind] != 1) ans = add(ans, solve(ind + 1, r + 1));     if (vals[ind] != 0) ans = add(ans, solve(ind + 1, r - 1));     return mem[ind][r] = ans;   }   void gen(int ind) {     if (ind >= int(vals.size())) return;     vals[v[ind].first.second] = 0;     id++;     long long tmp = solve(0, 0);     if (tmp == -1) {       color(v[ind].second.first, v[ind].second.second,  ( );       gen(ind + 1);     } else {       vals[v[ind].first.second] = 1;       k -= tmp;       color(v[ind].second.first, v[ind].second.second,  ) );       gen(ind + 1);     }   }   int main() {     ios::sync_with_stdio(false);     cin >> n >> m;     cin >> k;     for (int i = 0; i < n; i++)       for (int j = 0; j < m; j++) cin >> p[i][j];     for (int j = 0; j < m; j++) {       int x = 0, y = j, pr = n * m + 1;       while (x < n && y >= 0) {         pr = min(pr, p[x][y]);         x++;         y--;       }       v.push_back(make_pair(make_pair(pr, v.size()), make_pair(0, j)));       vals.push_back(-1);     }     for (int i = 1; i < n; i++) {       int x = i, y = m - 1, pr = n * m + 1;       while (x < n && y >= 0) {         pr = min(pr, p[x][y]);         x++;         y--;       }       v.push_back(make_pair(make_pair(pr, v.size()), make_pair(i, m - 1)));       vals.push_back(-1);     }     sort(v.begin(), v.end());     gen(0);     for (int i = 0; i < n; i++) cout << s[i] << endl;     return 0;   }   