func_code_string: #include <bits/stdc++.h>   using namespace std;   long long d1[] = {0, 2, 3, 1};   long long fn1(long long start, long long pos, long long len) {     long long zzz = len / 4;     if (len == 1) return start;     for (long long i = 0; i < 4; i++) {       long long l = i * zzz;       long long r = l + (zzz - 1);       if (l <= pos && pos <= r) return fn1(start + d1[i] * zzz, pos - l, zzz);     }     return -1;   }   long long d2[] = {0, 3, 1, 2};   long long fn2(long long start, long long pos, long long len) {     long long zzz = len / 4;     if (len == 1) return start;     for (long long i = 0; i < 4; i++) {       long long l = i * zzz;       long long r = l + (zzz - 1);       if (l <= pos && pos <= r) return fn2(start + d2[i] * zzz, pos - l, zzz);     }     return -1;   }   long long solve() {     long long n;     cin >> n;     n--;     long long row = n / 3;     long long col = n % 3;     if (col == 0) {       long long pos = row;       long long temp = 1;       long long start = 1;       while (true) {         if (pos - temp >= 0) {           pos -= temp;           temp *= 4;           start *= 4;           continue;         }         break;       }       cout << start + pos <<   n ;     }     if (col == 1) {       long long pos = row;       long long temp = 1;       long long start = 2;       while (true) {         if (pos - temp >= 0) {           pos -= temp;           temp *= 4;           start *= 4;           continue;         }         break;       }       cout << fn1(start, pos, temp) <<   n ;     }     if (col == 2) {       long long pos = row;       long long temp = 1;       long long start = 3;       while (true) {         if (pos - temp >= 0) {           pos -= temp;           temp *= 4;           start *= 4;           continue;         }         break;       }       cout << fn2(start, pos, temp) <<   n ;     }     return 0;   }   int main() {     ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);     ;     long long t = 1;     cin >> t;     while (t-- != 0) {       long long stat = solve();     }     return 0;   }   