#include<bits/stdc++.h>
#define int long long
#define endl "\n"
using namespace std;
struct aa {
int y, s, Y, z, p, zp, xp;
bool k = 0;
} a[100001];
int n;
bool cmp(aa a, aa b) {
if (a.z == b.z) {
if ((a.y + a.s) == (b.y + b.s)) {
if (max(a.y, a.s) == max(b.y, b.s)) {
if (a.xp < b.xp)
b.k = 1;
else
a.k = 1;
return a.xp < b.xp;
} else return max(a.y, a.s) > max(b.y, b.s);
} else return (a.y + a.s) > (b.y + b.s);
} else return a.z > b.z;
}
bool cmp1(aa a, aa b) {
return a.xp < b.xp;
}
signed main() {
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i].y >> a[i].s >> a[i].Y;
a[i].z = a[i].y + a[i].s + a[i].Y;
a[i].xp = i;
}
sort(a + 1, a + n + 1, cmp);
for (int i = 1; i <= n; i++) {
a[i].zp = i;
int qq = 1;
while (a[i + qq].k == 1) {
a[i + qq].zp = a[i].zp;
qq++;
}
}
sort(a + 1, a + n + 1, cmp1);
for (int i = 1; i <= n; i++) {
cout << a[i].zp << endl;
}
return 0;
}