#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef unsigned long long ull;
#define x first
#define y second
#define sf scanf
#define pf printf
#define PI acos(-1)
#define inf 0x3f3f3f3f
#define lowbit(x) ((-x)&x)
#define mem(a,x) memset(a,x,sizeof(a))
#define rep(i,n) for(int i=0;i<(n);++i)
#define repi(i,a,b) for(int i=int(a);i<=(b);++i)
#define repr(i,b,a) for(int i=int(b);i>=(a);--i)
#define debug(x) cout << #x <<": " << x << endl;
const int MOD = 998244353;
const int mod = 1e9 + 7;
const int maxn = 2e5 + 10;
const int dx[] = {0, 1, -1, 0, 0};
const int dy[] = {0, 0, 0, 1, -1};
const int dz[] = {1, -1, 0, 0, 0, 0 };
int day[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
void init(){
}
ll T;
ll n,m;
ll l[maxn],r[maxn];
ll flag=1;
void out(){///调试BUG用的
/*if(flag){
ll num=0;
for(int i=1;i<=n;i++){
num=r[num];
cout<<num<<" ";
}
cout<<endl<<"*******"<<endl;
}else {
ll num=n+1;
for(int i=1;i<=n;i++){
num=l[num];
cout<<num<<" ";
}
cout<<endl<<"*******"<<endl;
}*/
}
void solve()
{
flag=1;
r[0]=1;
l[n+1]=n;
for(int i=1;i<=n;i++){
l[i]=i-1;
r[i]=i+1;
}
while(m--){
ll op;
cin>>op;
if(op==1){
ll x,y;
cin>>x>>y;
if(flag){
ll a=l[x],b=r[x];
ll c=l[y],d=r[y];
if(b==y) {
out();
continue;
}
if(d==x){
r[c]=x;
l[x]=c;
r[x]=y;
l[y]=x;
r[y]=b;
l[b]=y;
out();
continue;
}
l[b]=a;
r[a]=b;
r[c]=x;
l[x]=c;
r[x]=y;
l[y]=x;
}else {
ll a=l[x],b=r[x];
ll c=l[y],d=r[y];
if(d==x){
out();
continue;
}
if(b==y){
l[d]=x;
r[x]=d;
l[x]=y;
r[y]=x;
l[y]=a;
r[a]=y;
out();
continue;
}
l[b]=a;
r[a]=b;
l[d]=x;
r[x]=d;
l[x]=y;
r[y]=x;
}
}else if(op==2){
ll x,y;
cin>>x>>y;
if(!flag){
ll a=l[x],b=r[x];
ll c=l[y],d=r[y];
if(a==y){
l[b]=y;
r[y]=b;
l[y]=x;
r[x]=y;
l[x]=c;
r[c]=x;
out();
continue;
}
if(b==y) {
out();
continue;
}
l[b]=a;
r[a]=b;
l[y]=x;
r[x]=y;
l[x]=c;
r[c]=x;
}else {
ll a=l[x],b=r[x];
ll c=l[y],d=r[y];
if(d==x){
out();
continue;
}
if(b==y){
l[y]=a;
r[a]=y;
r[y]=x;
l[x]=y;
r[x]=d;
l[d]=x;
out();
continue;
}
l[b]=a;
r[a]=b;
l[x]=y;
r[y]=x;
r[x]=d;
l[d]=x;
}
}else if(op==3){
ll x,y;
cin>>x>>y;
ll a=l[x],b=r[x];
ll c=l[y],d=r[y];
if(d==x){
r[c]=x;
l[x]=c;
r[x]=y;
l[y]=x;
r[y]=b;
l[b]=y;
out();
continue;
}
if(b==y){
r[a]=y;
l[y]=a;
r[y]=x;
l[x]=y;
r[x]=d;
l[d]=x;
out();
continue;
}
l[y]=a;
r[a]=y;
r[y]=b;
l[b]=y;
l[x]=c;
r[c]=x;
l[d]=x;
r[x]=d;
}else if(op==4){
flag=!flag;
}
out();
}
printf("Case %lld: ",++T);
if(flag){
ll num=0,sum=0;
for(int i=1;i<=n;i++){
num=r[num];
if(i%2) sum+=num;
}
cout<<sum<<endl;
}else {
ll num=n+1,sum=0;
for(int i=1;i<=n;i++){
num=l[num];
if(i%2) sum+=num;
}
cout<<sum<<endl;
}
}
int main()
{
init();
//ll t = 1;
/// scanf("%lld",&t);
while(~scanf("%lld%lld",&n,&m))
{
solve();
}
return 0;
}