#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int n;
const int N=1e5+10;
struct pingtai{
int height;
int l,r;
int order;
}tai[N];
typedef pair<int,int> PII;
PII ans[N];
bool cmp(pingtai a,pingtai b)
{
if(a.height==b.height) return a.order<b.order;
else return a.height<b.height;
}
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
cin>>tai[i].height>>tai[i].l>>tai[i].r;
tai[i].order=i+1;
}
sort(tai,tai+n,cmp);
int ll=0,rr=0;
for(int i=0;i<n;i++)
{
if(i==0) ans[i]={0,0};
else
{
for(int j=i-1;j>=0;j--)
{
if(tai[j].height<tai[i].height)
{
if(tai[j].l<tai[i].l&&tai[j].r>tai[i].l) ans[tai[i].order].first=tai[j].order;
if(tai[j].l<tai[i].r&&tai[j].r>tai[i].r) ans[tai[i].order].second=tai[j].order;
if(ans[tai[i].order].first!=0&&ans[tai[i].order].second!=0) break;
}
}
}
}
for(int i=1;i<=n;i++) cout<<ans[i].first<<" "<<ans[i].second<<endl;
return 0;
}