#include <iostream>
#include <algorithm>
#define maxN 100000
using namespace std ;

struct Esemeny{
   int kezd , veg , az ;
};

bool rend_rel ( const Esemeny a , const Esemeny b) {
   return a.veg<b.veg || a.veg==b.veg && a.kezd<b.kezd;
}
int main () {
   int n;
//beolvasás
   cin>>n;
   Esemeny E[n];
   for (int i=0; i<n; i ++){
      int k , b;
      cin>>k>>b ; ;
      E[i].kezd=k; E[i].veg=b; E[i].az=i+1;
   }
// rendezés
   sort (E, E+n , rend_rel);
//mohó számítás
   int u=0;       // a megoldáshalmaz elemszáma
   int M[n];      // a megoldáshalmaz
   int szabad=0;  // az első szabad időopont
   for (int i=0; i<n; i ++)
      if (szabad<=E[i].kezd ) {
         M[u++]=E[i].az ;
         szabad=E[i].veg;
      }
//kiíratás
   cout<<u<<endl ;
   for ( int i =0; i <u; i ++)
      cout<<M[i]<<" " ;
   cout<<endl ;

   return 0;
}
