#include<bits/stdc++.h>
using namespace std;
long long c,que;
queue<long long> q;
long long a[1000001];
int main(){
cin.sync_with_stdio(0);
cin.tie(0);
cin>>c>>que;
while(que--){
int op;
cin>>op;
if(op==1){
int x;
cin>>x;
for(int i=1;i<=x;i++){
q.push(i);
}
}else if(op==2){
int x;
cin>>x;
for(long long i=1;i<=x;i++){
q.pop();
}
}else if(op==3){
long long z,o=q.size();
cin>>z;
memset(a,0,sizeof a);
for(long long i=1;i<=o;i++){
a[i]=q.front();
if(i==z){
cout<<a[i]<<endl;
}
q.pop();
}
for(long long i=1;i<=o;i++){
q.push(a[i]);
}
}else if(op==4){
long long mx=INT_MIN,o=q.size();
memset(a,0,sizeof a);
for(long long i=1;i<=o;i++){
a[i]=q.front();
mx=max(a[i],mx);
q.pop();
}
for(long long i=1;i<=o;i++){
q.push(a[i]);
}
cout<<mx<<endl;
}
}
return 0;
}
求教