#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
void candies(int n, int a[], int k) {
  long long int way[n][k + 1];
  for (int i = 0; i <= a[0]; i++) way[0][i] = 1;
  for (int i = a[0] + 1; i < k + 1; i++) way[0][i] = 0;
  for (int i = 1; i < n; i++) {
    way[i][0] = 1;
    for (int j = 1; j < k + 1; j++) {
      if (j <= a[i])
        way[i][j] = (way[i - 1][j] % mod + way[i][j - 1] % mod) % mod;
      else
        way[i][j] = (way[i][j - 1] % mod - way[i - 1][j - a[i] - 1] +
                     way[i - 1][j] % mod) %
                    mod;
    }
  }
  cout << way[n - 1][k] << endl;
}
int main() {
  int n, k;
  cin >> n >> k;
  int a[n];
  for (int i = 0; i < n; i++) cin >> a[i];
  candies(n, a, k);
}
