func_code_string: #include <bits/stdc++.h>   using namespace std;   struct ako {     int b2, c2, d;     ako(int B = -1, int C = -1, int D = -1) : b2(B), c2(C), d(D) {}   };   const int minb = -2000, maxb = 4000, maxa = 1005;   ako vis[maxb - minb + 79][maxa];   int main() {     ios::sync_with_stdio(false);     cin.tie(0);     int a;     cin >> a;     queue<pair<int, int>> q;     q.push({0, 0});     while (!q.empty() && vis[-minb][0].d == -1) {       int b = q.front().first, c = q.front().second;       q.pop();       for (int d = 0; d < 10; d++) {         if (b == 0 && c == 0 && d == 0) continue;         int nwb = b + a * ((c + a * d) % 10) - d, nwc = (c + a * d) / 10;         if (minb > nwb || maxb < nwb || vis[nwb - minb][nwc].d != -1) continue;         vis[nwb - minb][nwc] = ako(b, c, d);         q.push({nwb, nwc});       }     }     string ans;     if (vis[-minb][0].d != -1) {       int b = 0, c = 0;       while (true) {         ako k = vis[b - minb][c];         if (!ans.empty() || k.d) ans.push_back( 0  + k.d);         if (k.b2 == 0 && k.c2 == 0) break;         tie(b, c) = {k.b2, k.c2};       }     } else       ans =  -1 ;     cout << ans << endl;     return 0;   }   