#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
const int Maxn = 1e3 + 5;
const int Max = 1e9 + 5;
long long gcd(long long a, long long b);
map<pair<int, int>, int> Map;
int lsh[Maxn];
int cmp(int x, int y) { return x > y; }
int main() {
  ios::sync_with_stdio(false);
  ;
  long long n;
  while (cin >> n) {
    long long a[n + 5], maxx = 0;
    for (int i = 0; i < n; i++) {
      cin >> a[i];
      if (a[i] > maxx) {
        maxx = a[i];
      }
    }
    for (int i = 0; i < n; i++) {
      a[i] = maxx - a[i];
    }
    if (n == 2) {
      if (a[0] == a[1])
        cout << "0 0\n";
      else if (a[0] > a[1])
        cout << "1 " << a[0] - a[1] << endl;
      else
        cout << "1 " << a[1] - a[0] << endl;
    } else {
      int m;
      for (int i = 0; i < n; i++) {
        if (a[i]) {
          m = a[i];
          break;
        }
      }
      for (int i = 0; i < n; i++) {
        if (a[i]) m = gcd(m, a[i]);
      }
      long long sum = 0;
      for (int i = 0; i < n; i++) {
        sum += a[i];
      }
      if (m == 0 || maxx == 0)
        cout << "0 0\n";
      else
        cout << sum / m << " " << m << endl;
    }
  }
  return 0;
}
long long gcd(long long a, long long b) {
  return a % b == 0 ? b : gcd(b, a % b);
}
