#include<bits/stdc++.h>
#define ll long long
#define lbw return
#define N 0
#define B ;
using namespace std;
int n,m;
int a[101],f[101][101];
int main() {
cin>>n>>m;
for(int i=1; i<=n; i++) cin>>a[i];
for(int j=0; j<=n; j++)f[j][0]=1;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
for(int k=max(j-a[i],1); k<=j; k++)
f[i][j]+=f[i-1][k],f[i][j]%=1000007;
cout<<f[n][m];
lbw N B
}