#include<bits/stdc++.h>
#define int long long
#define maxn 1300005
#define ll long long
using namespace std;
int sub[maxn][25];
int super[maxn][25];
int n,a[maxn];
int cnt[maxn];
signed main() {
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
cnt[a[i]]++;
}
for(int i=0;i<20;i++){
for(int mask=0;mask<(1<<20);mask++){
if(mask&(1<<i)){
sub[mask][i]=(i==0 ? cnt[mask]+cnt[mask^(1<<i)] : sub[mask][i-1]+sub[mask^(1<<i)][i-1]);
}
else{
sub[mask][i]=(i==0 ? cnt[mask] : sub[mask][i-1]);
}
}
}
for(int i=0;i<20;i++){
for(int mask=0;mask<(1<<20);mask++){
if((mask&(1<<i))==0){
super[mask][i]=(i==0 ? cnt[mask]+cnt[mask | (1<<i)] : super[mask][i-1]+super[mask | (1<<i)][i-1]);
}
else{
super[mask][i]=(i==0 ? cnt[mask] : super[mask][i-1]);
}
}
}
for(int i=1;i<=n;i++){
int x= a[i];
cout<<sub[x][19]<<' '<<super[x][19]<<' '<<n-sub[((1<<20)-1)^x][19]<<'\n';
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgbWF4biAxMzAwMDA1CiNkZWZpbmUgbGwgbG9uZyBsb25nCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBzdWJbbWF4bl1bMjVdOwppbnQgc3VwZXJbbWF4bl1bMjVdOwppbnQgbixhW21heG5dOwppbnQgY250W21heG5dOwpzaWduZWQgbWFpbigpIHsKICAgY2luPj5uOwogICBmb3IoaW50IGk9MTtpPD1uO2krKyl7CiAgICAgICBjaW4+PmFbaV07CiAgICAgICBjbnRbYVtpXV0rKzsKICAgfQogICBmb3IoaW50IGk9MDtpPDIwO2krKyl7CiAgICAgICBmb3IoaW50IG1hc2s9MDttYXNrPCgxPDwyMCk7bWFzaysrKXsKICAgICAgICAgICBpZihtYXNrJigxPDxpKSl7CiAgICAgICAgICAgICAgIHN1YlttYXNrXVtpXT0oaT09MCA/IGNudFttYXNrXStjbnRbbWFza14oMTw8aSldIDogc3ViW21hc2tdW2ktMV0rc3ViW21hc2teKDE8PGkpXVtpLTFdKTsKICAgICAgICAgICB9CiAgICAgICAgICAgZWxzZXsKICAgICAgICAgICAgICAgc3ViW21hc2tdW2ldPShpPT0wID8gY250W21hc2tdIDogc3ViW21hc2tdW2ktMV0pOwogICAgICAgICAgIH0KICAgICAgIH0KICAgfQogICBmb3IoaW50IGk9MDtpPDIwO2krKyl7CiAgICAgICBmb3IoaW50IG1hc2s9MDttYXNrPCgxPDwyMCk7bWFzaysrKXsKICAgICAgICAgICBpZigobWFzayYoMTw8aSkpPT0wKXsKICAgICAgICAgICAgICAgc3VwZXJbbWFza11baV09KGk9PTAgPyBjbnRbbWFza10rY250W21hc2sgfCAoMTw8aSldIDogc3VwZXJbbWFza11baS0xXStzdXBlclttYXNrIHwgKDE8PGkpXVtpLTFdKTsKICAgICAgICAgICB9CiAgICAgICAgICAgZWxzZXsKICAgICAgICAgICAgICAgc3VwZXJbbWFza11baV09KGk9PTAgPyBjbnRbbWFza10gOiBzdXBlclttYXNrXVtpLTFdKTsKICAgICAgICAgICB9CiAgICAgICB9CiAgIH0KICAgZm9yKGludCBpPTE7aTw9bjtpKyspewogICAgICAgaW50IHg9IGFbaV07CiAgICAgICBjb3V0PDxzdWJbeF1bMTldPDwnICc8PHN1cGVyW3hdWzE5XTw8JyAnPDxuLXN1YlsoKDE8PDIwKS0xKV54XVsxOV08PCdcbic7CiAgIH0KICAgcmV0dXJuIDA7Cn0K