#include<bits/stdc++.h>
using namespace std;
long long n,x;
bool b[50];
int main()
{
	cin >> n;
	while(n--)
	{
		for(int i = 0; i <= 50; i++)b[i] = 0;
		cin >> x;
		long long aux = x;
		int i = 0;
		while(aux)
		{
			b[i] = aux%2;
			i++;
			aux	/=2;
		}
		int poz1 = -1, poz0 = -1;
		for(int j = 0; j < i; j++) {
			if(b[j] && poz1<0)
			{
				poz1 = j;
			}
			if(!b[j])poz0 = j;
		}
		swap(b[poz0], b[poz1]);
		long long pow = 1;
		long long ans = 0;
		for(int j = 0; j < i; j++)
		{
			ans += pow * b[j];
			pow *= 2;
		}
		cout << max(ans, x) << " ";
	}
}