#include <bits/stdc++.h>
using namespace std;
struct ac{
long long y=0,s=0,w=0,z=0,x=0,p=0;
bool k=0;
}ab[100000];
bool cmp(ac &a,ac &b){
if (a.z!=b.z){
return a.z>b.z;
}else if(a.y+a.s!=b.y+b.s){
return a.y+a.s>b.y+b.s;
}else if(max(a.y,a.s)!=max(b.y,b.s)){
return max(a.y,a.s)>max(b.y,b.s);
}else{
a.k=true;
b.k=true;
return a.x<b.x;
}
}
bool vmp(ac a,ac b){
return a.x<b.x;
}
int main(){
long long n;
cin>>n;
for (int i=1;i<=n;i++){
cin>>ab[i].y>>ab[i].s>>ab[i].w;
ab[i].z=ab[i].y+ab[i].s+ab[i].w;
ab[i].x=i;
}
sort(ab+1,ab+1+n,cmp);
for (int i=1;i<=n;i++){
ab[i].p=i;
long long s=i;
while(ab[i].k==1){
ab[i].p=s;
if (ab[i+1].k!=1){
break;
}
i++;
}
}
sort(ab+1,ab+1+n,vmp);
for (int i=1;i<=n;i++){
cout<<ab[i].p<<endl;
}
}