#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; if(s.empty()) s.insert({l,r}),res=max(res,r-l+1); else{ auto it=s.upper_bound({l,l}); int L=l,R=r; vector del; // cout<=l&&(*it).fi<=r+1) R=(*it).sc,del.pb(*it); it--; if((*it).sc>=l-1&&(*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,尤其是后缀名 检查空间 检查调试语句是否全部注释 */