#include <bits/stdc++.h>
using namespace std;
const int MaxN = 1e5;
int m, n;
long long sum[MaxN + 5], a[MaxN + 5];
long long Gcd(long long x, long long y) {
  if (y == 0)
    return x;
  else
    return Gcd(y, x % y);
}
void pdo() {
  long long ans = 0;
  for (int i = 1; i <= n; i++) {
    long long t1 = a[i] * (i - 1) - sum[i - 1];
    long long t2 = sum[n] - sum[i] - a[i] * (n - i);
    ans += a[i] + t1 + t2;
  }
  long long t = Gcd(ans, (long long)n);
  printf("%I64d %I64d\n", ans / t, n / t);
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%I64d", &a[i]);
  sort(a + 1, a + n + 1);
  for (int i = 1; i <= n; i++) sum[i] = sum[i - 1] + a[i];
  pdo();
}
