#include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; int main() { ll D, Q; cin >> D >> Q; vector A(Q); vector B(Q); set S; for (int i = 0; i < Q; ++i) { cin >> A[i] >> B[i]; S.insert(A[i] - 1); S.insert(A[i]); S.insert(B[i]); S.insert(B[i] + 1); } ll ans = 0; for (int i = 0; i < Q; ++i) { ll a = A[i]; ll b = B[i]; while (true) { auto it = S.lower_bound(a); if (*it > b) break; S.erase(*it); } auto it = S.lower_bound(a); ll end_at = *it; --it; ll start_at = *it; // fprintf(stderr, "(%lld, %lld)\n", start_at, end_at); ans = max(ans, end_at - start_at - 1); cout << ans << endl; } return 0; }