#include<iostream>
#include<algorithm>
using namespace std;
struct action{
int s;
int f;
int index;
};
bool cmp(const action &a,const action &b){
if(a.f<=b.f) return true;
else return false;
}
void GreedySelector(int n,action a[],bool b[]){
b[1]=true;
int preEnd=a[1].f;
for(int i=2;i<=n;i++){
if(a[i].s>=preEnd){
b[i]=true;
preEnd=a[i].f;
}
}
}
int main()
{
action a[1000];
bool b[100]={false};
int n;
int s,f;
cin>>n;
for(int i=1;i<=n;i++){
cin>>s>>f;
a[i].s=s;
a[i].f=f;
a[i].index=i;
}
sort(a+1,a+n+1,cmp);
GreedySelector(n, a, b);
for(int i=1;i<=n;i++){
if(b[i]) cout<<a[i].index<<" ";
}
return 0;
}