```c
#include<iostream>
using namespace std;
const int N = 100010;
int n[N],ne[N],head,idx;
void init(){
head = -1;
idx = 0;
}
void insert(int x){
n[idx] = x;
ne[idx] = head;
head = idx++;
}
void add(int k,int x){
n[idx] = x;
ne[idx] = ne[k];
ne[k] = idx++;
}
void del(int k){
ne[k] = ne[ne[k]];
}
int main(){
head = -1;
idx = 0;
int m;
cin>>m;
while(m--){
char s;
cin>>s;
if(s=='H'){
int x;
cin>>x;
insert(x);
}else if(s=='I'){
int x,k;
cin>>k>>x;
add(k-1,x);
}else if(s=='D'){
int k;
cin>>k;
if(k==0)head=ne[head];
del(k-1);
}
}
for(int i = head ;i !=-1;i = ne[i] )cout<<n[i]<<" ";
}