#include <bits/stdc++.h>
using namespace std;
long long MOD = 1000000007;
int a[200];
long long dp[100010][110] = {0ll};
int n;
int k;
long long find(int k, int x) {
  long long ans = 0ll;
  if (k < 0) return 0;
  if (x == (n - 1)) {
    if (k > a[x])
      return 0;
    else
      return 1;
  }
  if (dp[k][x] != 0) return dp[k][x];
  for (int i = 0; i <= a[x]; i++) {
    ans = (ans + find(k - i, x + 1)) % MOD;
  }
  return dp[k][x] = ans;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  ;
  cin >> n >> k;
  for (int i = 0; i < n; ++i) {
    cin >> a[i];
  }
  cout << find(k, 0) << endl;
  return 0;
}
