#include<stdio.h>
using namespace std;
const int maxn=1000000+100;
inline int read(){
int x=0;
char ch=getchar();
for(;ch>'9' || ch<'0';ch=getchar());
for(;ch<='9' && ch>='0';x=x*10+ch-'0',ch=getchar());
return x;
}
inline void print(int x){
if(x>9) print(x/10);
putchar(x%10+'0');
}
int ans[maxn];
int main(){
int n;
n=read();
for(int i=1,val;i<=n;i++) val=read(),ans[val]++;
for(int i=20;i>=0;i--){
for(int j=0;j<=1000000;j++) if((1<<i)&j) ans[j^(1<<i)]+=ans[j];
}
for(int i=0;i<=1000000;i++) print(ans[i]),putchar('\n');
}