#include #include using namespace std; int v[64]; int main () { // freopen ("file.in", "r", stdin); int n; scanf ("%d", &n); for (; n; --n) { int x; scanf ("%d", &x); int k = 0; for (; x > 0; x >>= 1) v[++k] = (x & 1); int p1 = -1, p0 = -1; for (int i = k - 1; i; --i) if (v[i] == 1) { if (p0 != -1) { p1 = i; break; } } else if (p0 == -1) p0 = i; if (p0 != -1 && p1 != -1) swap (v[p0], v[p1]); long long rez = 0LL; for (int i = k; i; --i) rez = 2LL * rez + 1LL * v[i]; printf ("%lld ", rez); } printf ("\n"); return 0; }