#include using namespace std; int i , j , n , x , S , a[109] , nr , k; int main() { //freopen("test.in" , "r" , stdin); //freopen("test.out" , "w" , stdout); scanf("%d" , &n); for (j = 1 ; j <= n ; ++j) { scanf("%d" , &x); memset(a , 0 , sizeof(a)); S = k = 0; for (i = 0 ; (1 << i) <= x ; ++i) if ((1 << i) & x) { a[S = max(S , i)] = 1; k++; } if (k <= 1) printf("%d\n" , x); else { for (i = 0 ; i <= S ; ++i) if (a[i]) break; a[i] = 0; i = S; while (a[i]) i--; if (i < 0) printf("%d\n" , x); else { a[i] = 1; nr = 0; for (i = 0 ; i <= S ; ++i) if (a[i]) nr = nr + (1 << i); printf("%d\n" , nr); } } } return 0; }