#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
int T,x,i,m,mmax[N],t;
char c;
struct lianbiao{
int n,l,r,sum;
}a[N];
int main(){
mmax[1]=-11451400;
cin>>T;
while(T--){
cin>>c;
if(c=='I'){
cin>>x;
a[m+1].n=x;
a[m+1].l=i;
a[++m].r=a[i].r;
a[i].r=m;
i=m;
a[i].sum=a[i].n+a[a[i].l].sum;
mmax[++t]=max(mmax[t],a[i].sum);
}else if(c=='D'){
a[a[i].l].r=a[i].r;
a[a[i].r].l=a[i].l;
i=a[i].l;
mmax[t--]=-11451400;
}else if(c=='L'){
i=a[i].l;
t--;
}else if(c=='R'){
i=a[i].r;
a[i].sum=a[i].n+a[a[i].l].sum;
mmax[++t]=max(mmax[t],a[i].sum);
}else if(c=='Q'){
cin>>x;
cout<<mmax[x]<<endl;
}
}
return 0;
}