#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int n, k;
  cin >> n >> k;
  vector<long long> dp(k + 1);
  dp[0] = 1;
  for (int i = 0; i < n; i++) {
    int x;
    cin >> x;
    vector<long long> dp2(k + 1);
    for (int j = k - 1; j >= 0; j--) {
      dp2[j + 1] = (dp2[j + 1] + dp[j]) % mod;
      if (j + x + 1 <= k) dp2[j + x + 1] += -dp[j];
    }
    long long z{};
    for (int j = 0; j <= k; j++) {
      z = (z + dp2[j]) % mod;
      dp[j] = (dp[j] + z) % mod;
    }
  }
  cout << dp[k];
}
