#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n, m, jdg, l, r, markk[10000000], op[10000000], len, a[10000000];
inline int read(){
int x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9')
{
if(ch=='-')
f=-1;
ch=getchar();
}
while(ch>='0' && ch<='9')
x=x*10+ch-'0',ch=getchar();
return x*f;
}
int main(){
n=read(), m=read();
len=sqrt(n);
for(ll i = 1; i <= n; i++){
op[i] = (i-1)/len+1;
}
for(ll i = 1; i <= m; i++){
jdg=read(), l=read(), r=read();
if(jdg == 0){
for(ll i = l; i <= min(r, len*op[l]); i++){
a[i] ^= 1;
}
if(op[l] != op[r])
for(ll i = (op[r]-1)*len+1; i <= r; i++)
a[i] ^= 1;
for(ll i = op[l]+1; i <= op[r]-1; i++)
markk[i] ^= 1;
}
else{
ll ans=0;
for(ll i = l; i <= r; i++){
if((a[i]+markk[op[i]])%2 == 1)
ans++;
}
printf("%lld\n", ans);
}
}
return 0;
}