公式: n + 1 − p o w ( 2 , n 的 二 进 制 中 1 的 个 数 ) n+1-pow(2,n的二进制中1的个数) n+1−pow(2,n的二进制中1的个数)
ll fact[100], infact[100];
void x_x()
{
fact[0] = infact[0] = 1;
f(i, 1, 100)
{
fact[i] = fact[i - 1] * i%mod;
infact[i] = infact[i - 1] * inv(i, mod) % mod;
}
}
ll C(ll a, ll b)
{
return fact[a] * infact[a - b] % mod*infact[b] % mod;
}
void sg()
{
f(i, 1, 99)
{
cout << i << ":" << "偶数个数";
int cot = 0;
f(j, 0, i)
{
if (C(i, j) % 2 == 0)cot++;
}
cout << cot << endl;
}
}
int main()
{
//freopen("in.txt", "r", stdin);
//x_x();
//sg();
int t;
cin >> t;
while (t--)
{
ll n;scanf("%lld", &n);
ll cot = 0;
f(i, 0, 60)
{
if (n >> i & 1)cot++;
}
printf("%lld\n", n + 1 - ((ll)1 << cot));
}
return 0;
}