#include <bits/stdc++.h>
#define int long long
#define MOD 1000000007
using namespace std;

int n,k,a[110],dp[110][100010],sum[100010];

signed main()
{
	cin>>n>>k;
	for(int i=1;i<=n;i++) cin>>a[i];
	dp[0][0]=1;
	for(int i=1;i<=n;i++){
		sum[1]=dp[i-1][0];
		for(int j=2;j<=k+1;j++){
			sum[j]=sum[j-1]+dp[i-1][j-1];
			if(sum[j]>=MOD) sum[j]-=MOD;
		}
		for(int j=0;j<=k;j++){
			dp[i][j]=(sum[j+1]-sum[max(j-a[i],0ll)]+MOD);
			if(dp[i][j]>=MOD) dp[i][j]-=MOD;
		}
	}
	cout<<dp[n][k]%MOD<<endl;
	return 0;
}