#include <bits/stdc++.h>
using namespace std;
int find_parent(vector<int>& parent, int x) {
int r = x;
while (parent[r] != r) r = parent[r];
while (parent[x] != r) {
int nxt = parent[x];
parent[x] = r;
x = nxt;
}
return r;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N, Q;
cin >> N >> Q;
vector<long long> cnt(N + 2, 0);
for (int v = 1; v <= N; ++v) cnt[v] = 1;
cnt[N + 1] = 0;
vector<int> parent(N + 2);
for (int v = 1; v <= N + 1; ++v) parent[v] = v;
for (int i = 0; i < Q; ++i) {
int X, Y;
cin >> X >> Y;
long long res = 0;
int v = find_parent(parent, 1);
while (v <= X) {
res += cnt[v];
cnt[Y] += cnt[v];
cnt[v] = 0;
parent[v] = find_parent(parent, v + 1);
v = parent[v];
}
cout << res << '\n';
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgZmluZF9wYXJlbnQodmVjdG9yPGludD4mIHBhcmVudCwgaW50IHgpIHsKICAgIGludCByID0geDsKICAgIHdoaWxlIChwYXJlbnRbcl0gIT0gcikgciA9IHBhcmVudFtyXTsKICAgIHdoaWxlIChwYXJlbnRbeF0gIT0gcikgewogICAgICAgIGludCBueHQgPSBwYXJlbnRbeF07CiAgICAgICAgcGFyZW50W3hdID0gcjsKICAgICAgICB4ID0gbnh0OwogICAgfQogICAgcmV0dXJuIHI7Cn0KCmludCBtYWluKCkgewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKCiAgICBpbnQgTiwgUTsKICAgIGNpbiA+PiBOID4+IFE7CgogICAgdmVjdG9yPGxvbmcgbG9uZz4gY250KE4gKyAyLCAwKTsKICAgIGZvciAoaW50IHYgPSAxOyB2IDw9IE47ICsrdikgY250W3ZdID0gMTsKICAgIGNudFtOICsgMV0gPSAwOwoKICAgIHZlY3RvcjxpbnQ+IHBhcmVudChOICsgMik7CiAgICBmb3IgKGludCB2ID0gMTsgdiA8PSBOICsgMTsgKyt2KSBwYXJlbnRbdl0gPSB2OwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgUTsgKytpKSB7CiAgICAgICAgaW50IFgsIFk7CiAgICAgICAgY2luID4+IFggPj4gWTsKICAgICAgICBsb25nIGxvbmcgcmVzID0gMDsKICAgICAgICBpbnQgdiA9IGZpbmRfcGFyZW50KHBhcmVudCwgMSk7CiAgICAgICAgd2hpbGUgKHYgPD0gWCkgewogICAgICAgICAgICByZXMgKz0gY250W3ZdOwogICAgICAgICAgICBjbnRbWV0gKz0gY250W3ZdOwogICAgICAgICAgICBjbnRbdl0gPSAwOwogICAgICAgICAgICBwYXJlbnRbdl0gPSBmaW5kX3BhcmVudChwYXJlbnQsIHYgKyAxKTsKICAgICAgICAgICAgdiA9IHBhcmVudFt2XTsKICAgICAgICB9CiAgICAgICAgY291dCA8PCByZXMgPDwgJ1xuJzsKICAgIH0KfQ==