#include#include using namespace std; const int N = 1e5 + 10; int e[N], l[N], r[N], idx; int m; int r1 = -1, l1 = -1; void remove(int k){ r[l[k]] = r[k]; l[r[k]] = l[k]; if(k == l1) l1 = r[k]; if(k == r1) r1 = l[k]; } void insertR(int k, int x){ e[idx] = x; r[idx] = r[k]; l[idx] = k; l[r[k]] = idx; r[k] = idx; if(r1 == -1) r1 = idx; else if(r[idx] == -1) r1 = idx; idx ++ ; } void insertL(int k, int x){ e[idx] = x; r[idx] = k; l[idx] = l[k]; r[l[k]] = idx; l[k] = idx; if(l1 == -1) l1 = idx; else if(l[idx] == -1) l1 = idx; idx ++ ; } int main() { cin>>m; memset(r, -1, sizeof(r)); memset(l, -1, sizeof(l)); while(m -- ){ string op; cin>>op; if(op == "L"){ int x; cin>>x; if(idx == 0){ e[idx] = x; l1 = idx; r1 = idx; idx ++ ; } else{ e[idx] = x; r[idx] = l1; l[l1] = idx; l1 = idx; if(r1 == -1) r1 = idx; idx ++ ; } } else if(op == "R"){ int x; cin>>x; if(idx == 0){ e[idx] = x; l1 = idx; r1 = idx; idx ++ ; } else{ e[idx] = x; l[idx] = r1; r[r1] = idx; r1 = idx; if(l1 == -1) l1 = idx; idx ++ ; } } else if(op == "D"){ int k; cin>>k; if(k == 1 && idx == 1){ l1 = -1; r1 = -1; } remove(k - 1); } else if(op == "IR"){ int k, x; cin>>k>>x; insertR(k - 1, x); } else if(op == "IL"){ int k, x; cin>>k>>x; insertL(k - 1, x); } } for(int i = l1; i != -1; i = r[i]){ cout<



