#include <bits/stdc++.h>
using namespace std;
const int fish=1e9+7;
int N,a[505],K;
long long dp[205][100005];
long long Sum[100005];
int main()
{
	scanf("%d%d",&N,&K);
	for (int i=1;i<=N;i++)
	 scanf("%d",&a[i]);
	for (int i=0;i<=N;i++)
	  dp[i][0]=1;
	for (int i=1;i<=N;i++)
	{
	   for (int j=1;j<=K+1;j++)
	      Sum[j]=Sum[j-1]+dp[i-1][j-1];
	    for (int j=1;j<=K;j++)
	      dp[i][j]=dp[i][j]+Sum[j+1]-Sum[max(0ll,j*1ll-a[i])],dp[i][j]%=fish;
	}
	printf("%d",dp[N][K]);
	return 0;
}