#include using namespace std; #define rep(i,n) for(int i=0;i<(int)(n);i++) #define ALL(v) v.begin(),v.end() typedef long long ll; template using V=vector; template using VV=V>; int main(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); int n; cin>>n; V A(n),B(n); rep(i,n) cin>>A[i]>>B[i]; V to(n,-1),ANS; stack st; rep(i,n){ if(A[i]==1){ to[i+1]=i; continue; } if(B[i]==2){ st.push(i); continue; } ANS.push_back(i); int now=i; while(1){ if(to[now]!=-1){ now=to[now]; ANS.push_back(now); continue; } if(B[now]==1){ auto a=st.top(); st.pop(); now=a; ANS.push_back(now); continue; } break; } } rep(i,n) cout<