#include #define int long long using namespace std; #define fi first #define sc second #define pii pair #define pdd pair #define pb push_back #define umap unordered_map #define mset multiset #define pq priority_queue #define ull unsigned long long #define i128 __int128 #define ld long double #define fixs fixed< s; void solve(){ cin>>n>>q; while(q--){ int l,r; cin>>l>>r,l--,r++; if(s.empty()) s.insert({l,r}),res=max(res,r-l-1); else{ auto it=s.upper_bound({l,l}); vector del; if((*it).fi>=l&&(*it).fi<=r) r=(*it).sc,del.pb(*it); it--; if((*it).sc>=l&&(*it).sc<=r) l=(*it).fi,del.pb(*it); for(pii p:del) s.erase(p); res=max(res,r-l-1),s.insert({l,r}); } // for(pii p:s) cout<>t; while(t--) solve(); return 0; } /* Samples input: output: THINGS TODO: 检查freopen,尤其是后缀名 检查空间 检查调试语句是否全部注释 */