#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int INF = 1e9;
const ll LINF = 1e18;
const int N = 2e5 + 5;
int n;
int x[N];
int sos_sub[1 << 20], sos_super[1 << 20];
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n;
for (int i = 1; i <= n; i++) cin >> x[i];
for (int i = 1; i <= n; i++) {
++sos_sub[x[i]];
++sos_super[x[i]];
}
for (int i = 0; i < 20; i++) {
for (int mask = 0; mask < (1 << 20); mask++) {
if (mask & (1 << i)) sos_sub[mask] += sos_sub[mask ^ (1 << i)];
else sos_super[mask] += sos_super[mask ^ (1 << i)];
}
}
int full = (1 << 20) - 1;
for (int i = 1; i <= n; i++) {
cout << sos_sub[x[i]] << ' ' << sos_super[x[i]] << ' ' << n - sos_sub[full ^ x[i]] << '\n';
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsgIAoKdHlwZWRlZiBsb25nIGxvbmcgbGw7ICAKdHlwZWRlZiBwYWlyPGludCwgaW50PiBpaTsgIAoKY29uc3QgaW50IElORiA9IDFlOTsgIApjb25zdCBsbCBMSU5GID0gMWUxODsgIAoKY29uc3QgaW50IE4gPSAyZTUgKyA1OyAgCgppbnQgbjsgCmludCB4W05dOyAKCmludCBzb3Nfc3ViWzEgPDwgMjBdLCBzb3Nfc3VwZXJbMSA8PCAyMF07IAoKaW50IG1haW4oKSB7Cglpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IAoJY2luLnRpZShudWxscHRyKTsgCQoJY2luID4+IG47IAoJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSBjaW4gPj4geFtpXTsgIAoKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewoJCSsrc29zX3N1Ylt4W2ldXTsgCgkJKytzb3Nfc3VwZXJbeFtpXV07Cgl9CgoJZm9yIChpbnQgaSA9IDA7IGkgPCAyMDsgaSsrKSB7CgkJZm9yIChpbnQgbWFzayA9IDA7IG1hc2sgPCAoMSA8PCAyMCk7IG1hc2srKykgewoJCQlpZiAobWFzayAmICgxIDw8IGkpKSBzb3Nfc3ViW21hc2tdICs9IHNvc19zdWJbbWFzayBeICgxIDw8IGkpXTsgCgkJCWVsc2Ugc29zX3N1cGVyW21hc2tdICs9IHNvc19zdXBlclttYXNrIF4gKDEgPDwgaSldOyAKCQl9Cgl9CgoJaW50IGZ1bGwgPSAoMSA8PCAyMCkgLSAxOyAKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewoJCWNvdXQgPDwgc29zX3N1Ylt4W2ldXSA8PCAnICcgPDwgc29zX3N1cGVyW3hbaV1dIDw8ICcgJyA8PCBuIC0gc29zX3N1YltmdWxsIF4geFtpXV0gPDwgJ1xuJzsgCgl9Cgp9