rt
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e5+5;
int t[N << 2], a[N]; // N << 2 = N * 4
int n, m;
void update(int id, int l, int r, int x, int y)
{
if (l == r)
{
t[id] ^= 1;
return ;
}
int mid = l + r >> 1;
update(id << 1, l, mid, x, y);
update(id << 1 | 1, mid + 1, r, x, y);
t[id] = t[id << 1] + t[id << 1 | 1];
}
int query(int id, int l, int r, int x, int y)
{
int ans = 0;
if (x <= l && y >= r)//如果当前区间(l,r)在查询区间中
{
return t[id];
}
int mid = l + r >> 1;
if (x <= mid)
{
ans += query(id << 1, l, mid, x, y);
}
if(y > mid)
{
ans += query(id << 1 | 1, mid + 1, r, x, y);
}
return ans;
}
signed main()
{
cin >> n >> m;
for (int i = 1; i <= m; i++)
{
int op, x, y;
cin >> op >> x >> y;
if (op == 0) update(1, 1, n, x, y);
else
{
cout << query(1, 1, n, x, y) << endl;
}
}
return 0;
}