#include <bits/stdc++.h>
using namespace std;
const long long MASK = 0x5555555555555555LL;
int log_2(long long n) {
  if (n >> 32) {
    return 63 - __builtin_clz(n >> 32);
  }
  return 31 - __builtin_clz(n);
}
long long solve(long long n, int p) {
  long long x = 1LL << (log_2(3 * n + 1) & -2);
  x += n - (x - 1) / 3;
  if (!p) return x;
  long long st = x & MASK, dr = (x >> 1) & MASK;
  long long y = dr ^ ((st ^ dr) << 1);
  return p == 1 ? y : (x ^ y);
}
int main() {
  long long t, x;
  scanf("%lld", &t);
  while (t--) {
    scanf("%lld", &x);
    x--;
    printf("%lld\n", solve(x / 3, x % 3));
  }
  return 0;
}
