#include <bits/stdc++.h> using namespace std; int ans[40]; void compute(int val, int &size){ size = 0; while(val >= 1){ ans[size] = val % 2; val/=2; size++; } for(int i=0;i<size/2;i++) swap(ans[i], ans[size-i-1]); } int main(){ //ifstream cin("input.in"); int n; cin >> n; for(int i=0;i<n;i++){ memset(ans, 0, sizeof(ans)); int val,size=0; cin >> val; compute(val, size); int low; if(size > 1){ for(low = size-1; low>=0; low--){ if(ans[low] == 1){ break; } } int hight; for(hight = 0; hight < size; hight++){ if(ans[hight] == 0) break; } if(low > hight) swap(ans[low], ans[hight]); } int fin = 0; for(int j=0;j<size;j++){ fin += ans[j] * pow(2,size-j-1); } cout << fin << ' '; } return(0); }