#include using namespace std; using ll = long long; #define rep(i, n) for (int i = 0; i < (int)(n); i++) template auto compress(Vectors... vecs) { vector b; (b.insert(b.end(), vecs.begin(), vecs.end()), ...); sort(b.begin(), b.end()); b.erase(unique(b.begin(), b.end()), b.end()); auto enc = [&](vector a) { vector res(a.size()); for (int i = 0; i < (int)a.size(); i++) { res[i] = lower_bound(b.begin(), b.end(), a[i]) - b.begin(); } return res; }; return make_tuple(enc(vecs)...); } int main() { cin.tie(nullptr); ios_base::sync_with_stdio(false); int n; cin >> n; vector l(n), r(n); rep(i, n) { cin >> l[i] >> r[i]; while (l[i] < 1LL << 32) { l[i] *= 2; r[i] *= 2; } if (r[i] >= 1LL << 33) { l.push_back(1LL << 32); r.push_back(r[i] / 2); r[i] = 1LL << 33; } } n = l.size(); tie(l, r) = compress(l, r); vector v(2 * n + 1, 0); rep(i, n) { v[l[i]]++; v[r[i]]--; } rep(i, 2 * n) v[i + 1] += v[i]; ll ans = 0; for (ll i : v) ans = max(ans, i); cout << ans << endl; return 0; }