#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int>PII;
const int N = 1e5 + 10;
int head = -1, e[N], ne[N];
int tt = 0;
int main() {
int n, k, x;
char c;
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> c;
if (c == 'H') {
cin >> x;
e[tt] = x;
ne[tt] = head;
head = tt++;
} else if (c == 'D') {
cin >> k;
if(!k) head=ne[head];
else ne[k-1]=ne[ne[k-1]];
} else {
cin >> k >> x;
e[tt]=x;
ne[tt]=ne[k-1];
ne[k-1]=tt++;
}
}
int temp = head;
while (temp != -1) {
cout << e[temp] << ' ';
temp = ne[temp];
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int e[N],l[N],r[N],tt=0;
void insert(int k,int x)
{
e[tt]=x;
l[tt]=k;
r[tt]=r[k];
l[r[k]]=tt;
r[k]=tt++;
}
void remove(int x)
{
r[l[x]]=r[x];
l[r[x]]=l[x];
}
int main()
{
int n,k,x;
string c;
cin>>n;
r[0]=1,l[1]=0;
tt=2;
for(int i=1;i<=n;i++)
{
cin>>c;
if(c=="L")
{
cin>>x;
insert(0,x);
}
else if(c=="R")
{
cin>>x;
insert(l[1],x);
}
else if(c=="D")
{
cin>>k;
remove(k+1);
}
else if(c=="IL")
{
cin>>k>>x;
insert(l[k+1],x);
}
else if(c=="IR")
{
cin>>k>>x;
insert(k+1,x);
}
}
for(int i=r[0];i!=1;i=r[i])cout<<e[i]<<' ';
return 0;
}