#include <iostream>
#include <algorithm>
using namespace std;
struct p{
int h;
int l;
int r;
int n;
};
bool cmp(p a, p b) {
if (a.h != b.h) return a.h > b.h;
return a.n < b.n;
}
int main() {
int N;
cin >> N;
p a[N+1];
p tmp[N+1];
for (int i=1; i<=N; i++) {
cin >> a[i].h >> a[i].l >> a[i].r;
a[i].n = i;
tmp[i] = a[i];
}
sort(&a[1], &a[1]+N, cmp);
for (int i=1; i<=N; i++) {
int nl=0, nr=0;
for (int j=1; j<=N; j++) {
if (tmp[i].h>a[j].h) {
if (tmp[i].l>a[j].l && tmp[i].l<a[j].r) {
nl = a[j].n;
}
if (tmp[i].r>a[j].l && tmp[i].r<a[j].r) {
nr = a[j].n;
}
}
}
cout << nl << ' ' << nr << endl;
}
return 0;
}