#include <iostream>

using namespace std;

unsigned long long n,x;

void help(unsigned long long x)
{
    unsigned long long poz = 0;
    unsigned long long poz1 = 0;
    unsigned long long poz0 = 0;

    for(unsigned long long i = 1; i<=x; i<<=1)
    {
        poz++;
        if(i&x)
        {
            poz1 = poz;
            break;
        }
    }
    poz = 0;

    for(unsigned long long i = 1; i<=x;i<<=1)
    {
        poz++;
        if(!(i&x))
        {
            poz0 = poz;
        }
    }

    if(poz0 == 0 || poz1 == 0 || poz1 > poz0)
    {
        cout<<x<<' ';
        return;
    }

    unsigned long long a = 1;
    a <<= (poz0-1);
    x|=a;
    a = 1;
    a <<= (poz1-1);
    x^=a;

    cout<<x <<' ';
}

int main()
{
    cin >> n;

    for(unsigned long long i = 1; i <= n; i++)
    {
        cin >> x;
        help(x);
    }

    return 0;
}