#include <algorithm>
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
int N;
vector<pair<int, int>> v;
priority_queue<int, vector<int>, greater<int>> pq;
int room = 0;
bool cmp(pair<int, int> a, pair<int, int> b) {
if (a.first == b.first)
return a.second < b.second;
return a.first < b.first;
}
int max(int a, int b) { return a > b ? a : b; }
void input() {
cin >> N;
for (int i = 0; i < N; i++) {
int s, e;
cin >> s >> e;
v.push_back({s, e});
}
sort(v.begin(), v.end(), cmp);
pq.push(v[0].second);
}
void solve() {
room = 1;
for (int i = 1; i < N; i++) {
while (!pq.empty()) {
if(pq.top() <= v[i].first) pq.pop();
else break;
}
pq.push(v[i].second);
room = max(room, pq.size());
}
}
int main(void) {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
input();
solve();
cout << room;
return 0;
}