#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=32;
int a[N];
int main()
{
int T;
cin>>T;
while(T--)
{
int h;
cin>>h;
memset(a,0,sizeof(a));
int mx=0,ans=0;
for(int i=29;i>=0;i--)
{
if(h&(1<<i)) a[i]=1,mx=max(mx,i);
}
bool f=false;
for(int i=0;i<=mx;i++)
{
if(i==0)
{
if(a[i]) ans+=1;
else ans+=2,f=true;
}
else
{
if(a[i]==0&&f) ans++;
else if(a[i]==0&&!f) ans+=2,f=1;
else if(a[i]==1&&f) ans+=2,f=1;
else ans++;
}
}
if(f) ans-=2;
cout<<ans<<'\n';
}
return 0;
}
using namespace std;
typedef long long ll;
const int N=32;
int a[N];
int main()
{
int T;
cin>>T;
while(T--)
{
int h;
cin>>h;
memset(a,0,sizeof(a));
int mx=0,ans=0;
for(int i=29;i>=0;i--)
{
if(h&(1<<i)) a[i]=1,mx=max(mx,i);
}
bool f=false;
for(int i=0;i<=mx;i++)
{
if(i==0)
{
if(a[i]) ans+=1;
else ans+=2,f=true;
}
else
{
if(a[i]==0&&f) ans++;
else if(a[i]==0&&!f) ans+=2,f=1;
else if(a[i]==1&&f) ans+=2,f=1;
else ans++;
}
}
if(f) ans-=2;
cout<<ans<<'\n';
}
return 0;
}