#include <iostream>
#include <string>
#include<vector>
#include<stack>
#include<algorithm>
using namespace std;
vector<int> pre;
vector<int> in;
vector<int> post;
stack<int> st;
void ToPost(int root,int s1,int s2,int e2){
post[root]=pre[s1];
int i;
for(i=s2;i<=e2;i++){
if(in[i]==pre[s1])
break;
}
if(i!=s2)//
ToPost(root-(e2-i)-1,s1+1,s2,i-1);
if(i!=e2)//有右子树
ToPost(root-1,s1+(i-s2)+1,i+1,e2);
}
int main ()
{
int i,j,N,p,d;
char s[10];
scanf("%d",&N);
post.resize(N+1);
pre.push_back(0);
in.push_back(0);
for(i=0;i<N*2;i++){
scanf("%s",s);
if(s[1]=='u'){
scanf("%d",&d);
st.push(d);
pre.push_back(d);
}
else{
d=st.top();
st.pop();
in.push_back(d);
}
}
ToPost(N,1,1,N);
for(i=1;i<=N;i++){
cout<<post[i];
if(i!=N)
cout<<" ";
}
system("pause");
return 0;
}