#include <bits/stdc++.h>
using namespace std;
struct snake{
int hd,len;
};
deque <snake> dq;
int main(){
int n;
cin>>n;
int mov=0;
while(n--){
int q;
cin>>q;
if(q==1){
int l;
cin>>l;
int nh=0;
if(!dq.empty()){
nh=dq.back().hd+dq.back().len;
}
dq.push_back({nh,l});
}
if(q==2){
int er=dq.front().len;
dq.pop_front();
mov+=er;
}
if(q==3){
int k;
cin>>k;
cout<<dq[k-1].hd-mov<<endl;
}
}
return 0;
}