#include <iostream>

using namespace std;

unsigned long long int base2[300], power2[40];

int main()
{
    unsigned long long int ct, i, nr, n, lgbase2, copyNr, posZero, firstOne;

    power2[0]=1;
    for (ct=1; ct<=32; ++ct)
        power2[ct]=power2[ct-1]*2;

    cin>>n;
    for (ct=1; ct<=n; ++ct){
        cin>>nr;
        copyNr=nr;

        lgbase2=0;
        if (!nr)
            base2[++lgbase2]=0;

        while (nr){
            base2[++lgbase2]=nr%2;
            nr/=2;
        }

        //find first zero
        posZero=0;
        firstOne=0;
        for (i=1; i<=lgbase2; ++i){
            if (!base2[i])
                posZero = i;
            if (base2[i] && !firstOne)
                firstOne=i;
        }
        if (posZero && posZero > firstOne){
            copyNr-=power2[firstOne-1];
            copyNr+=power2[posZero-1];
        }

        cout<<copyNr<<" ";
    }
    return 0;
}