#include <bits/stdc++.h>
using namespace std;
const int maxN = 200010;
long long maxE = 0;
long long n;
long long a[maxN];
long long G = 0;
long long gcd(long long x, long long y) {
  if (x == 0 || y == 0) return x + y;
  if (x % y == 0)
    return y;
  else
    return gcd(y, x % y);
}
long long sum() {
  long long res = 0;
  for (int i = 1; i <= n; i++) res += a[i];
  return res;
}
int main() {
  scanf("%lld", &n);
  for (int i = 1; i <= n; i++) scanf("%lld", &a[i]);
  maxE = *max_element(a + 1, a + n + 1);
  for (int i = 1; i <= n; i++) G = gcd(G, maxE - a[i]);
  printf("%lld %lld\n", (maxE * n - sum()) / G, G);
  return 0;
}
