#include #include struct Element { int l,r; }; Element a[200005]; int main(){ int n,m; scanf("%d%d",&n,&m); for(int i = 1; i <= m; i++){ scanf("%d%d",&a[i].l,&a[i].r); } std::sort(a+1,a+1+m,[](Element& u, Element& v){ return u.r < v.r; }); int ans = 0; int p = 1; int right = 0; while(p<=n){ int np = p; while(np<=n && a[np].l<=right) np++; if(np>n) break; ans++; right = a[np].r; p = np+1; } printf("%d\n",n-ans); return 0; }