#include <bits/stdc++.h>
using namespace std;
long long powmod(long long a, long long n) {
  if (n == 0) return 1;
  if (n % 2) return (a * powmod(a, n - 1)) % 1000000007;
  long long c = powmod(a, n / 2);
  return (c * c) % 1000000007;
}
long long inv(long long a) { return powmod(a, 1000000007 - 2); }
int main() {
  long long k;
  cin >> k;
  long long a[k];
  long long sum = 0;
  for (long long i = 0; i < k; i++) {
    cin >> a[i];
    sum += a[i];
  }
  sort(a, a + k);
  long long ans = 0;
  long long s = 0;
  long long x = ((sum - 1) * (sum - 1)) % 1000000007;
  x *= inv(sum);
  x %= 1000000007;
  long long hn = 0;
  long long asum = 0;
  for (long long i = 0; i <= sum; i++) {
    if (i > 0) {
      hn += (sum - 1) * inv(sum - i);
      hn %= 1000000007;
    }
    while (s < k && a[s] == i) {
      ans += (i * x) % 1000000007;
      ans -= asum;
      ans %= 1000000007;
      s++;
    }
    if (s == k) break;
    asum += hn;
    asum %= 1000000007;
  }
  while (ans < 0) ans += 1000000007;
  cout << ans << endl;
}
