#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

string toString(long long number){

    string result;

    while(number){
        result = (char)(number % 2 + '0') + result;
        number /= 2;
    }
    return result;
}

long long toNumber(string number){

    long long result = 0;

    for(int i = 0; i < number.length(); i++){
        result *= 2;
        result += (number[i] - '0');
    }
    return result;
}

int main(){

    long long T, N, index0, index1;
    string S;

    cin >> T;

    while(T--){

        cin >> N;

        S = toString(N);

        for(int i = 0; i < S.length(); i++){
            if(S[i] == '0'){
                index0 = i;
                break;
            }
        }
        for(int j = S.length() - 1; j >= 0; j--){
            if(S[j] == '1'){
                index1 = j;
                break;
            }
        }
        if(index0 < index1){
            swap(S[index0], S[index1]);
        }
        N = toNumber(S);

        cout << N << " ";

    }

return 0;
}