#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
struct Kuai{
int l,r,sum,st;
}s[20010];
int n,m,w,a[200010],k[200010],c,x,y,ans;
int main(){
cin>>n>>m;
w=sqrt(n);
for(int i=1;i<=w;i++){
s[i].l=(i-1)*w+1;
s[i].r=i*w;
}
if(s[w].r<n){
w++;
s[w].l=s[w-1].r+1;
s[w].r=n;
}
for(int i=1;i<=w;i++)
for(int j=s[i].l;j<=s[i].r;j++)
k[j]=i;
for(int i=1;i<=m;i++){
cin>>c>>x>>y;
int p=k[x],q=k[y];
if(!c){
if(p==q)
for(int j=x;j<=y;j++){
a[j]^=1;
if(a[j]) s[p].sum++;
else s[p].sum--;
}
else{
for(int j=x;j<=s[p].r;j++){
a[j]^=1;
if(a[j]) s[p].sum++;
else s[p].sum--;
}
for(int j=s[q].l;j<=y;j++){
a[j]^=1;
if(a[j]) s[q].sum++;
else s[q].sum--;
}
for(int j=p+1;j<=q-1;j++) s[j].st^=1;
}
}
else{
ans=0;
if(p==q){
if(s[p].st){
for(int j=s[p].l;j<=s[p].r;j++){
a[j]^=1;
if(a[j]) s[p].sum++;
else s[p].sum--;
}
s[p].st=0;
}
for(int j=x;j<=y;j++) if(a[j]) ans++;
}
else{
if(s[p].st){
for(int j=x;j<=s[p].r;j++){
a[j]^=1;
if(a[j]) s[p].sum++;
else s[p].sum--;
}
s[p].st=0;
}
for(int j=x;j<=s[p].r;j++) if(a[j]) ans++;
if(s[q].st){
for(int j=s[q].l;j<=y;j++){
a[j]^=1;
if(a[j]) s[q].sum++;
else s[q].sum--;
}
s[q].st=0;
}
for(int j=s[q].l;j<=y;j++) if(a[j]) ans++;
for(int j=p+1;j<=q-1;j++)
if(s[j].st) ans+=s[j].r-s[j].l+1-s[j].sum;
else ans+=s[j].sum;
}
cout<<ans<<endl;
}
}
return 0;
}