#include <bits/stdc++.h>
using namespace std;
const long long int mod = (long long int)1e9 + 7;
long long int dp[100][100001];
long long int ar[100];
long long int solve(long long int num, long long int k) {
  if (num == 0) return (k >= 0 && k <= ar[num]);
  if (dp[num][k]) return dp[num][k];
  for (long long int j = 0; j <= ar[num]; j++) {
    dp[num][k] = (dp[num][k] + solve(num - 1, k - j)) % mod;
  }
  return dp[num][k];
}
int main() {
  long long int n, k;
  cin >> n >> k;
  for (long long int i = 0; i < n; i++) {
    cin >> ar[i];
  }
  dp[n - 1][k] = solve(n - 1, k);
  cout << dp[n - 1][k] % mod;
}
