#include using namespace std; unsigned long long int base2[300], power2[40]; int main() { unsigned long long int ct, i, nr, n, lgbase2, copyNr, posZero, firstOne; power2[0]=1; for (ct=1; ct<=32; ++ct) power2[ct]=power2[ct-1]*2; cin>>n; for (ct=1; ct<=n; ++ct){ cin>>nr; copyNr=nr; lgbase2=0; if (!nr) base2[++lgbase2]=0; while (nr){ base2[++lgbase2]=nr%2; nr/=2; } //find first zero posZero=0; firstOne=0; for (i=1; i<=lgbase2; ++i){ if (!base2[i]) posZero = i; if (base2[i] && !firstOne) firstOne=i; } if (posZero && posZero > firstOne){ copyNr-=power2[firstOne-1]; copyNr+=power2[posZero-1]; } cout<