#include <cstdio>
#include <algorithm>

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;
}