#include<iostream>
using namespace std;
int v[100010],ne[100010];
int idx = 0;
int head = -1;
int m;
void insert(int k,int x)
{
v[idx] = x;
ne[idx] = ne[k-1];
ne[k-1] = idx ++;
}
void remove(int k)
{
if(k==0)
head = ne[head];
else
ne[k-1] = ne[ne[k-1]];
}
void insert_head(int x)
{
v[idx] = x;
ne[idx] = head;
head = idx++;
}
int main()
{
cin >>m;
while(m--)
{
string op;
cin>>op;
int x,k;
if(op=="H"){
cin>>x;
insert_head(x);
}
else if(op=="D")
{
cin>>k;
remove(k);
}
else
{
cin>>k>>x;
insert(k,x);
}
}
for(int i = head; i!=-1; i=ne[i])
{
cout<<v[i]<<" ";
}
return 0;
}
include[HTML_REMOVED]
using namespace std;
int v[100010],ne[100010];
int idx = 0;
int head = -1;
int m;
void insert(int k,int x)
{
v[idx] = x;
ne[idx] = ne[k-1];
ne[k-1] = idx ++;
}
void remove(int k)
{
if(k==0)
head = ne[head];
else
ne[k-1] = ne[ne[k-1]];
}
void insert_head(int x)
{
v[idx] = x;
ne[idx] = head;
head = idx++;
}
int main()
{
cin >>m;
while(m--)
{
string op;
cin>>op;
int x,k;
if(op=="H"){
cin>>x;
insert_head(x);
}
else if(op=="D")
{
cin>>k;
remove(k);
}
else
{
cin>>k>>x;
insert(k,x);
}
}
for(int i = head; i!=-1; i=ne[i])
{
cout<<v[i]<<" ";
}
return 0;
}