#include #include #include #include #include #include #include #define rep(i,n) for(i=0; i=a; --i) #define in(a) cin >> a #define out(a,b) cout << a << b #define print_vec(v) for(auto it=v.begin();it!=v.end();++it)cout<<*it <<" ";cout< > v){ lint left=v[indx].first, right=v[indx].second, i; inc_rep(i,indx+1,v.size()){ if(left<=v[i].first&&v[i].second<=right) return ind(i,v); } return indx; } int main(void){ lint i, j, k, cnt=0, x, y; lint p, q, n, m; in(n); in(m); vector > v; rep(i,m){ in(p); in(q); v.push_back(make_pair(p,q)); } sort(v.begin(),v.end()); cnt=(n-1)*2; x=0; rep(i,m){ i=ind(i,v); x++; } out(cnt-x,endl); return 0; }