func_code_string: #include <bits/stdc++.h>   using namespace std;   int a[11], n;   long long dp[11][111], c[111][111];   int main() {     memset(c, 0, sizeof(c));     for (int i = (0); i < (111); i++) c[i][0] = 1;     for (int i = (1); i < (111); i++)       for (int j = (1); j <= (i); j++)         c[i][j] = (c[i - 1][j - 1] + c[i - 1][j]) % 1000000007LL;     cin >> n;     for (int i = (0); i < (10); i++) cin >> a[i];     memset(dp, 0, sizeof(dp));     int len = 0;     for (int i = a[1]; i <= n; i++) dp[1][i] = 1;     len = a[1];     for (int i = (2); i < (10); i++) {       for (int l = len + a[i]; l <= n; l++) {         for (int j = a[i]; j <= l - len; j++) {           dp[i][l] += dp[i - 1][l - j] * c[l][j] % 1000000007LL;           dp[i][l] %= 1000000007LL;         }       }       len += a[i];     }     long long ans = 0;     for (int l = a[0] + len; l <= n; l++) {       if (l == 0) continue;       for (int i = a[0]; i <= l - len; i++) {         int k = l - i;         ans += dp[9][k] * c[l - 1][i] % 1000000007LL;         ans %= 1000000007LL;       }     }     cout << ans << endl;     return 0;   }   