#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    long long x[n];
    long long y[n];
    long long xmin = 10000000;
    long long ymax = 0;
    for (int i = 0; i < n; i++) {
        cin >> x[i] >> y[i];
        if (x[i] < xmin) {
            xmin = x[i];
        }
        if (y[i] > ymax) {
            ymax = y[i];
        }
    }
    long long lenght = ymax - xmin;
    long long cnt[lenght];
    long long area[lenght];
    long long maxarea = 0;
    long long maxcnt = 0;
    for (int i = 0; i < lenght; i++) {
        cnt [i] = 0;
        area[i] = 0;
    }
    for (int i, ptr = 0; i < ymax; i++) {
            for (int p = 0; p < n; p++) {
                if (x[p] <= i && y[p] >= i+1) {
                    cnt[ptr]++;
                    if(cnt[ptr] > maxcnt) {
                        maxcnt = cnt[ptr];
                    }
                }
            }
        area[ptr] = cnt[ptr];
                if(area[ptr] > maxarea) {
                    maxarea = area[ptr];
                }
        ptr++;
    }
    cout << maxcnt << endl;
    cout << maxarea;
    return 0;
}
