#include<iostream>
const int iee=2000000+5;
int box[iee];
int next[iee];
int prev[iee];
int data[iee];
bool rev;
int n,m;
using namespace std;
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 n,m;
int jss=0;
while(scanf("%d%d",&n,&m)==2)
{
init();
int x,y,op;
while(m--)
{
cin>>op;
if(op<=2&&rev)op=3-op;
if(op==4)rev=!rev;
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]=ny;
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;
for(int i=0;i<=n;i++)
{
b=next[b];
if(i%2==1)ans+=b;
}
cout<<"Case "<<jss++<<": "<<ans<<endl;
}
return 0;
}