#include #define ll long long #define mp make_pair #define pb push_back #define mod 1000000007 using namespace std; ll n, x, cnt, rsp, poz0, poz1; string rs; bool u ; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n; for (int i = 1; i <= n; i++) { rs = ""; poz0 = poz1 = -1, rsp = 0, u = 0; cin >> x; ll X = x; while (x) { rs += (x % 2) + '0'; x /= 2; } reverse(rs.begin(), rs.end()); for (int i = rs.size() - 1; i >= 0; i--) if (rs[i] == '1'){poz1 = i; break;} for (int i = 0; i < rs.size(); i++) if (rs[i] == '0'){poz0 = i; break;} if (poz0 == -1 || poz1 == -1 || poz0 > poz1) {cout << X << " "; u = 1;} swap(rs[poz1], rs[poz0]); //cout << rs << " "; for (int i = 0 ; i < rs.size(); i++) rsp += (1 << (rs.size() - 1 - i)) * (rs[i] - '0'); if (!u) cout << rsp << " "; } return 0; }