#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
struct grade{
int yu, shu, ying;
int zong;
int pai;
int id;
}a[N];
bool cmp(grade a, grade b){
if(a.zong != b.zong)
return a.zong > b.zong;
else if(a.yu + a.shu != b.yu + b.shu)
return a.yu + a.shu > b.yu + b.shu;
else if(max(a.yu, a.shu) != max(b.yu, b.shu))
return max(a.yu, a.shu) > max(b.yu, b.shu);
}
int main()
{
int n;
cin>>n;
for(int i = 1;i <= n;i++){
cin>>a[i].yu>>a[i].shu>>a[i].ying;
a[i].zong = a[i].yu + a[i].shu + a[i].ying;
a[i].id = i;
}
sort(a + 1, a + 1 + n, cmp);
int ans = 0;
int cnt = 1;
for(int i = 1;i <= n;i++){
if(a[i].zong == a[i - 1].zong && (a[i].yu + a[i].shu) == (a[i - 1].yu + a[i - 1].shu) && max(a[i].yu, a[i].shu) == max(a[i - 1].yu, a[i].shu)){
a[i].pai = ans;
cnt++;
}else{
a[i].pai = ans + cnt;
ans++;
}
}
for(int i = 1;i <= n;i++){
for(int j = 1;j <= n;j++){
if(a[j].id == i){
cout<<a[j].pai<<endl;
break;
}
}
}
return 0;
}