#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 100010;
int a[N];
int n;
int lowbit(int x) //返回最后一个1和0后面的数字
{
return x&-x;
}
int main()
{
scanf("%d",&n);
for (int i=0;i<n;i++) scanf("%d",&a[i]);
for (int i=0;i<n;i++)
{
int ans=0;
while (a[i])
{
a[i]-=lowbit(a[i]); //每次原数减去最后一个1和后面的0组成的数字
ans++;
}
printf("%d ",ans);
}
printf("\n");
return 0;
}