#include<bits/stdc++.h>
using namespace std;
const int maxn=200005;
int Next[maxn],Prev[maxn],n,m;
bool rev;
void init(){
for(int i=1;i<=n;i++){
Prev[i]=i-1;
Next[i]=i+1%(n+1);
}Next[0]=1;
Prev[0]=n;
rev=0;
}
int main(){
int Kas=0;
while(scanf("%d%d",&n,&m)==2){
init();
int x,y,op;
while(m--){
cin>>op;
if(op==4) rev=!rev;
if(rev&&op<=2) op=3-op;
else if(op==1){
cin>>x>>y;
if(Prev[y]==x) continue;
int px=Prev[x],nx=Next[x];
int py=Prev[y],ny=Next[y];
Next[px]=nx;
Prev[nx]=px;
Next[x]=y;
Prev[x]=py;
Next[py]=x;
Prev[y]=x;
}
else if(op==2){
cin>>x>>y;
if(Next[y]==x) continue;
int px=Prev[x],nx=Next[x];
int py=Prev[y],ny=Next[y];
Next[px]=nx;
Prev[nx]=px;
Next[x]=ny;
Prev[x]=y;
Prev[ny]=x;
Next[y]=x;
}else if(op==3){
cin>>x>>y;
if(Next[y]==x) swap(x,y);
int px=Prev[x],nx=Next[x];
int py=Prev[y],ny=Next[y];
if(Next[x]==y){
Next[px]=y;
Prev[ny]=x;
Prev[y]=px;
Next[y]=x;
Prev[x]=y;
Next[x]=ny;
}else{
Prev[x]=py;
Next[x]=ny;
Next[py]=x;
Prev[y]=px;
Next[y]=nx;
Next[px]=y;
}
}
}
long long ans=0,b=0;
if(rev&&n%2==0){
for(int i=n;i>=1;i--){
b=Prev[b];
if(i%2==1) ans+=b;
}
} else{
for(int i=1;i<=n;i++){
b=Next[b];
if(i%2==1) ans+=b;
}
}
cout<<"Case "<<++Kas<<": "<<ans<<endl;
}
}