#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
long long mul(const long long& a, const long long& b) { return (a * b) % mod; }
long long add(const long long& a, const long long& b) { return (a + b) % mod; }
long long pwr(const long long& a, const long long& b) {
  if (!b) return 1;
  long long h = pwr(a, b >> 1);
  h = mul(h, h);
  if (b & 1) h = mul(h, a);
  return h;
}
const int maxn = 1e5 + 79;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int n;
  cin >> n;
  vector<int> a(n);
  int s = 0;
  for (int i = 0; i < n; i++) cin >> a[i], s += a[i];
  vector<long long> dp(min(maxn, s + 1), 0);
  dp[1] = mul(mul(s - 1, s - 1), pwr(s, mod - 2));
  for (int i = 2; i < dp.size(); i++) {
    dp[i] = add(add(mul(2, dp[i - 1]), mod - dp[i - 2]),
                mod - mul(s - 1, pwr(s - (i - 1), mod - 2)));
  }
  long long ans = 0;
  for (int i = 0; i < n; i++) ans = add(ans, dp[a[i]]);
  cout << ans << "\n";
  return 0;
}
