#include #include using mint = atcoder::static_modint<998244353>; //using mint = atcoder::static_modint<1000000007>; using namespace std; using namespace atcoder; using ld = long double; using ll = long long; #define mp(a,b) make_pair(a,b) #define rep(i,s,n) for(int i=s; i> n; vector> r(n); rep(i,0,n)cin >> r[i].first >> r[i].second; sort(r.begin(),r.end()); multiset S; rep(i,0,n){ int a=r[i].first,b=r[i].second; auto itr=S.upper_bound(a); if(itr!=S.begin()){ itr--; S.erase(itr); S.insert(b); } else S.insert(b); } cout << S.size()-1; }