#include <bits/stdc++.h>
using namespace std;
#define int long long
int block[2000010],tag[2000010],sum[2000010],a[2000010];
signed main(){
int n,f,size;
cin>>n>>f;
size=sqrt(n);
for(int i=1;i<=n;i++){
a[i]=0;
block[i]=(i-1)/size+1;
sum[block[i]]+=a[i];
}
for(int i=1;i<=f;i++){
int opt;
cin>>opt;
if(opt==0){
long long l,r,k=1;
cin>>l>>r;
for(int i=l;i<=min(r,block[l]*size);i++){
a[i]+=k;
sum[block[i]]+=k;
}
if(block[l]!=block[r])
for(int i=r;i>=(block[r]-1)*size+1;i--){
a[i]+=k;
sum[block[i]]+=k;
}
for(int i=block[l]+1;i<=block[r]-1;i++) tag[i]+=k;
}
else if(opt==1){
long long l,r;
long long ans=0;
cin>>l>>r;
for(int i=l;i<=min(r,block[l]*size);i++) ans+=(a[i]+tag[block[i]])%2;
if(block[l]!=block[r]) for(int i=r;i>=(block[r]-1)*size+1;i--) ans+=(a[i]+tag[block[i]])%2;
for(int i=block[l]+1;i<=block[r]-1;i++) ans+=(sum[i]+tag[i]*size)%2;
cout<<ans<<endl;
}
}
return 0;
}