#include<bits/stdc++.h>
using namespace std;
int n;
struct M{
int id;
int g,s,b;
int r,best;
void in() {
cin>>g>>s>>b;
}
}a[200005];
bool cmpgold(M a,M b) {
return a.g>b.g;
}
bool cmpsilver(M a,M b) {
return a.s>b.s;
}
bool cmpbronze(M a,M b) {
return a.b>b.b;
}
bool cmpid(M a,M b) {
return a.id<b.id;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++) {
a[i].in();
a[i].id=i;
a[i].best=200010;
}
sort(a+1,a+n+1,cmpgold);
a[1].r=1;
a[1].best=1;
for(int i=2;i<=n;i++) {
if(a[i].g==a[i-1].g) {
a[i].r=a[i-1].r;
a[i].best=min(a[i].best,a[i].r);
}
else {
a[i].r=i;
}
}
sort(a+1,a+n+1,cmpsilver);
a[1].r=1;
a[1].best=1;
for(int i=2;i<=n;i++) {
if(a[i].s==a[i-1].s) {
a[i].r=a[i-1].r;
a[i].best=min(a[i].best,a[i].r);
}
else {
a[i].r=i;
}
}
sort(a+1,a+n+1,cmpbronze);
a[1].r=1;
a[1].best=1;
for(int i=2;i<=n;i++) {
if(a[i].b==a[i-1].b) {
a[i].r=a[i-1].r;
a[i].best=min(a[i].best,a[i].r);
}
else {
a[i].r=i;
}
}
sort(a+1,a+n+1,cmpid);
for(int i=1;i<=n;i++) {
cout<<a[i].best<<"\n";
}
return 0;
}