#include <bits/stdc++.h>
using namespace std;
int a[105];
int n, k;
const long long mod = 1e9 + 7;
long long dp[105][(int)1e5 + 5];
long long solve(int idx, int sum) {
  if (sum == 0) return 1;
  if (idx == n || sum < 0) return 0;
  if (dp[idx][sum] != -1) return dp[idx][sum];
  long long ans = 0;
  for (int i = 0; i <= a[idx]; i++) {
    ans += solve(idx + 1, sum - i);
    ans %= mod;
  }
  return dp[idx][sum] = ans;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cin >> n >> k;
  for (int i = 0; i < n; i++) cin >> a[i];
  for (int i = 0; i < 105; i++) {
    for (int j = 0; j < 1e5 + 5; j++) {
      dp[i][j] = -1;
    }
  }
  cout << solve(0, k) << endl;
  return 0;
}
