#include <bits/stdc++.h>
using namespace std;
long long int fact[3001], mod = 1000000000 + 7;
void factorial() {
  fact[0] = 1;
  for (int i = 1; i <= 3000; i++) {
    fact[i] = (i * fact[i - 1]) % mod;
  }
}
int modul(long long int x, long long int y, long long int m) {
  if (y == 0)
    return 1;
  else if (y % 2 == 0)
    return modul((x * x) % m, y / 2, m);
  else
    return (x * modul((x * x) % m, (y - 1) / 2, m)) % m;
}
int main() {
  factorial();
  long long int k, x, pre = 0, sum = 1;
  cin >> k;
  for (int i = 0; i < k; i++) {
    cin >> x;
    long long int y = fact[pre + x - 1],
                  g = modul((fact[pre] * fact[x - 1]) % mod, mod - 2, mod);
    sum *= (y * g) % mod;
    sum %= mod;
    pre += x;
  }
  cout << sum % mod;
  return 0;
}
