#include<bits/stdc++.h>
#define int long long
using namespace std;
int p[100005] , s[1005] , e[1005] , len[1005] , tg[1005] , sum[100005] , bl , bn;
int n , m , c , a , b , d[100005];
void init(){
bl = sqrt(n);
if(n % bl)bn = bl + 1;
else bn = bl;
for(int i = 1;i <= bn;i++){
s[i] = (i - 1) * bl + 1;
e[i] = i * bl;
}
e[bn] = n;
for(int i = 1;i <= bn;i++)len[i] = e[i] - s[i] + 1;
for(int i = 1;i <= bn;i++){
for(int j = s[i];j <= e[i];j++)p[j] = i;
}
}
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> m;
init();
while(m--){
cin >> c >> a >> b;
if(c == 0){
if(p[a] == p[b]){
for(int i = a;i <= b;i++){
if(d[i])sum[p[a]]--;
else sum[p[a]]++;
d[i] = !d[i];
}
}else{
for(int i = a;i <= e[p[a]];i++){
if(d[i])sum[p[a]]--;
else sum[p[a]]++;
d[i] = !d[i];
}
for(int i = p[a] + 1;i < p[b];i++)tg[i] += sum[i] - (len[i] - sum[i]) , sum[i] = len[i] - sum[i];
for(int i = s[p[b]];i <= b;i++){
if(d[i])sum[p[b]]--;
else sum[p[b]]++;
d[i] = !d[i];
}
}
}
else{
int ans = 0;
if(p[a] == p[b]){
for(int i = a;i <= b;i++)ans += d[i] + tg[i];
}else{
for(int i = a;i <= e[p[a]];i++)ans += d[i] + tg[p[a]];
for(int i = p[a] + 1;i < p[b];i++)ans += sum[i];
for(int i = s[p[b]];i <= b;i++)ans += d[i] + tg[p[b]];
}
cout << ans << '\n';
}
}
return 0;
}