#include <iostream>
#include <bitset>
using namespace std;
int main(){
    int n;
    cin >> n;
    int ered[n];
    for(int i = 0; i < n; i++){
        int be;
        cin >> be;
        bitset<31> a = be;
        int iter = 1, utolso1 = -1, utolso0 = -1, j = 0;
        while(iter <= be/2){
            if(a[j] == 1){
                utolso1 = j;
            }else{
                utolso0 = j;
            }
            iter *=2; j++;
        }
        if(utolso1 < utolso0 && utolso1 != -1 && utolso0 != -1){
            a[utolso1] = 0;
            a[utolso0] = 1;
        }
        ered[i] = a.to_ulong();
    }
    for(int i = 0; i < n; ++i){
        cout << ered[i] << " ";
    }
    return 0;
}