#include #include #include using namespace std; using namespace atcoder; using mint = modint998244353; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000001 #define Inf64 4000000000000000001LL int main() { int n; cin>>n; vector a(n),b(n); vector> E(n); vector d(n); rep(i,n){ cin>>a[i]>>b[i]; if(a[i]==1){ d[i]++; E[i+1].push_back(i); } } int last =-1; for(int i=n-1;i>=0;i--){ if(b[i]==2){ d[i]++; E[last].push_back(i); } if(b[i]==1)last = i; } vector ans; priority_queue,greater> q; rep(i,n){ if(d[i]==0)q.push(i); } while(q.size()>0){ int u = q.top(); q.pop(); cout<