func_code_string: #include <bits/stdc++.h>   using namespace std;   inline long long mod(long long n, long long m) {     long long ret = n % m;     if (ret < 0) ret += m;     return ret;   }   long long gcd(long long a, long long b) {     return (b == 0LL ? a : gcd(b, a % b));   }   long long exp(long long a, long long b, long long m) {     if (b == 0LL) return 1LL;     if (b == 1LL) return mod(a, m);     long long k = mod(exp(a, b / 2, m), m);     if (b & 1LL) {       return mod(a * mod(k * k, m), m);     } else       return mod(k * k, m);   }   const long long N = 150;   long long a[N];   long long b[N * N];   long long n, k;   long long ok() {     long long sum = 0;     for (long long i = 1; i <= k; i++) {       sum += b[i];     }     long long s2 = sum;     long long tam = n;     for (long long i = k + 1; i <= tam; i++) {       s2 -= a[i - k];       s2 += a[i];       if (s2 != sum) return false;     }     return true;   }   long long T;   long long go(long long n, long long m, long long obj, long long t) {     if (n == obj) {       T = min(T, t);       return t;     }     if (n > obj) return 1e9;     long long has = 1e9;     for (long long x = m; x >= 0; x--) {       has = min(has, go(n + x + m, m + x, obj, t + 1));     }     return has;   }   void go2(long long n, long long m, long long obj, long long t) {     if (n == obj) {       return;     }     for (long long x = m; x >= 0; x--) {       if (go(n + x + m, m + x, obj, t + 1) == T) {         cout << x <<    ;         go2(n + x + m, m + x, obj, t + 1);         return;       }     }   }   void solve(long long coisa = 0) {     long long n, m;     if (coisa == 0)       cin >> n;     else       n = coisa;     if (n == 3) {       cout << 1 <<   n ;       cout << 1 <<   n ;       return;     }     long long t = 0;     for (long long i = 30; i >= 0; i--) {       if (n & (1LL << i)) {         t = i;         break;       }     }     cout << t <<   n ;     T = t;     if (n < 10) {       go2(1, 1, n, 0);       cout <<   n ;     } else if ((1 << t) == n) {       long long has = 1;       for (long long x = 1; x <= t; x++) {         if (x == 1)           cout << 0 <<    ;         else {           cout << has <<    ;           has = has + has;         }       }       cout <<   n ;     } else {       long long has = 1;       long long m = 1;       for (long long x = 1; x < t - 1; x++) {         cout << has <<    ;         m = m + has + has;         has = has + has;       }       long long op1 = m + has + has;       long long has2 = has + has;       op1 = op1 + has2;       if (n < (op1)) {         for (long long x = 1; x <= has; x *= 2) {           has2 = has + x;           long long m2 = m + has2;           if (n - m2 - has2 <= has2 and n - m2 - has2 >= 0) {           } else             continue;           cout << x <<    ;           has += x;           m += has;           cout << n - m - has <<   n ;         }       } else {         cout << has <<    ;         has += has;         m += has;         cout << n - m - has <<   n ;       }     }   }   int32_t main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     ;     long long t;     cin >> t;     while (t--) {       solve();     }   }   