#include using namespace std; typedef long long int64; const int64 INF = 1LL << 60; int main() { int64 D, Q, ret = 0; cin >> D >> Q; set< pair< int64, int64 > > st; st.emplace(-INF, -INF); st.emplace(INF, INF); for(int i = 0; i < Q; i++) { int64 A, B; cin >> A >> B; st.emplace(A, B); auto p = --st.lower_bound({A, -1}); if(A - 1 <= p->second) A = p->first; else ++p; while(B + 1 >= p->first) B = max(B, p->second), p = st.erase(p); st.emplace(A, B); ret = max(ret, B - A + 1); cout << ret << endl; } }