#include <bits/stdc++.h>
using namespace std;
struct SMSC {
  long long ti, ci;
} M[1005];
int n;
bool com(SMSC q1, SMSC q2) { return q1.ti < q2.ti; }
int main() {
  while (cin >> n) {
    for (int i = 1; i <= n; i++) {
      cin >> M[i].ti >> M[i].ci;
    }
    if (n == 1) {
      cout << M[1].ti + M[1].ci << " " << M[1].ci << endl;
      continue;
    }
    sort(M + 1, M + 1 + n, com);
    long long t = 0;
    long long maxn = M[1].ci;
    for (int i = 2; i <= n; i++) {
      M[i].ci = M[i].ci + max(t, M[i - 1].ci - (M[i].ti - M[i - 1].ti));
      maxn = max(maxn, M[i].ci);
    }
    cout << M[n].ti + M[n].ci << " " << maxn << endl;
  }
}
