func_code_string: #include <bits/stdc++.h>   using namespace std;   const int p = 1000000007;   long long quick_mod(long long a, long long b) {     long long ans = 1;     a %= p;     while (b) {       if (b & 1) {         ans = ans * a % p;         b--;       }       b >>= 1;       a = a * a % p;     }     return ans;   }   long long C(long long n, long long m) {     if (m > n) return 0;     long long ans = 1;     for (int i = 1; i <= m; i++) {       long long a = (n + i - m) % p;       long long b = i % p;       ans = ans * (a * quick_mod(b, p - 2) % p) % p;     }     return ans;   }   long long Lucas(long long n, long long m) {     if (m == 0) return 1;     return C(n % p, m % p) * Lucas(n / p, m / p) % p;   }   int main() {     long long ans = 1;     int n, cnt, x;     scanf( %d%d , &n, &cnt);     for (int i = 2; i <= n; i++) {       scanf( %d , &x);       long long t = C(cnt + x - 1, x - 1) % p;       ans = ans * t % p;       cnt += x;     }     printf( %d , ans);     return 0;   }   