// Problem: UVA12657 移动盒子 Boxes in a Line
// URL: https://www.luogu.com.cn/problem/UVA12657
#include<bits/stdc++.h>
using namespace std;
list<int> box;
int main(){
int n,m,tot=0;
while(cin>>n>>m){
printf("Case %d: ",++tot);
for(int i=1;i<=n;++i)
box.push_back(i);
while(m--){
int op;cin>>op;
if(op==1){
int x,y;cin>>x>>y;
auto it=box.begin();
advance(it,y-1);
box.remove(x);
box.insert(it,1,x);
}
else if(op==2){
int x,y;cin>>x>>y;
auto it=box.begin();
advance(it,y);
box.remove(x);
box.insert(it,1,x);
}
else if(op==3){
int x,y;cin>>x>>y;
auto it1=box.begin();
auto it2=box.begin();
advance(it1,y);
box.remove(y);
advance(it2,x+1);
box.remove(x);
box.insert(it1,1,x);
box.insert(it2,1,y);
}
else{
box.reverse();
}
}
int t=1;
long long ans=0;
for(int x:box){
if((t++)%2) {ans+=x;}
}
cout<<ans<<endl;
box.clear();
}
return 0;
}
难道只要用了STL就会RE嘛