#include #include #include #include #include #include using namespace std; #define x first #define y second #define NMAX 1005 int n, v[NMAX]; int main (){ scanf("%d",&n); for(int i = 1; i <= n; i++){ scanf("%d",&v[i]); int worst = -1, best = 0; for(int j = 0; j < 31; j++) if(v[i] & (1 << j)){ best = j; if(worst == -1) worst = j; } //printf("%d\n", (v[i] & (1 << 30))); int ok = 1; for(int j = best; j >= worst; j--){ if(!((1 << j) & v[i])){ ok = 0; printf("%d ", v[i] - (1 << worst) + (1 << j)); break; } } if(ok) printf("%d ", v[i]); } printf("\n"); return 0; }