func_code_string: #include <bits/stdc++.h>   using namespace std;   using ll = long long;   using ii = pair<int, int>;   int main() {     ios::sync_with_stdio(0);     cin.tie(0);     int q;     cin >> q;     for (int cas = 0; cas < q; ++cas) {       ll a, b, m;       cin >> a >> b >> m;       if (a == b) {         cout << 1 <<     << a <<   n ;         continue;       }       if (b - a <= m) {         cout << 2 <<     << a <<     << b <<   n ;         continue;       }       bool poss = false;       for (ll ans = 3; ans <= 50; ++ans) {         vector<ll> sum(ans + 1, 0);         sum[1] = a;         sum[2] = a + 1;         bool loc = true;         for (int i = 3; i <= ans; ++i) {           for (int j = 1; j < i; ++j) {             sum[i] += sum[j];             if (sum[i] > b) {               loc = false;               break;             }           }           sum[i]++;           if (sum[i] > b) loc = false;           if (!loc) break;         }         if (!loc) continue;         vector<ll> v(ans + 1, 1);         for (int i = 2; i <= ans; ++i) {           ll l = 0, r = m;           for (int j = 0; j < 50; ++j) {             ll mm = (l + r) / 2;             if (i == ans) {               if (sum[ans] + mm > b)                 r = mm;               else                 l = mm;             } else {               if (sum[ans] + mm * (1LL << (ans - (i + 1LL))) > b)                 r = mm;               else                 l = mm;             }           }           v[i] += l;           if (i == ans)             sum[ans] += l;           else             sum[ans] += (l * (1LL << (ans - (i + 1LL))));         }         if (sum[ans] > b) break;         if (sum[ans] == b) {           cout << ans <<    ;           ll curr = a;           vector<ll> res(ans + 1, 0);           res[1] = a;           for (int i = 2; i <= ans; ++i) {             for (int j = 1; j < i; ++j) res[i] += res[j];             res[i] += v[i];           }           for (int i = 1; i <= ans; ++i) cout << res[i] <<    ;           cout <<   n ;           poss = true;           break;         }       }       if (!poss) cout << -1 <<   n ;     }     return 0;   }   