#include <iostream>
#include <cmath>
using namespace std;

int x[100];
void rez();

int main() {
    int n;
    cin >> n;
    for (int i = 0; i < n; i++)
        rez();
    return 0;
}

void rez() {
    int n, nr = 0;
    cin >> n;
    do {
        x[nr++] = n % 2;
        n /= 2;
    } while (n);
    int p0 = -1, p1 = -1, i;
    for (i = nr - 1; i >= 0; i--)
        if (x[i] == 0) {
            p0 = i;
            break;
        }
    for (i = i - 1; i >= 0; i--)
        if (x[i] == 1) {
            p1 = i;
            break;
        }
    if (p1 != -1)
        swap(x[p0], x[p1]);
    int s = 0;
    for (i = 0; i < nr; i++)
        s += x[i] * pow(2, i);
    cout << s << ' ';
}