#include<bits/stdc++.h>
using namespace std;
int main(){
  int n,k;
  cin>>n>>k;
  vector<int> a(n);
  for(int i=0;i<n;i++)
    cin>>a.at(i);
  vector<vector<int>> dp(k+1,vector<int>(n+1,0));
  int p=1000000007;
  for(int j=0;j<=n;j++)
    dp[0][j]=1;
  for(int i=1;i<=k;i++){
    for(int j=1;j<=n;j++){
      dp[i][j]=(dp[i-1][j]+dp[i][j-1])%p;
      if(i-a.at(j-1)-1>=0)
        dp[i][j]=(dp[i][j]-dp[i-a.at(j-1)-1][j-1]+p)%p;
    }
  }
  cout<<dp[k][n]<<endl;
}