#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,m,dp[105][100005],s[100005],a[105],mod=1000000007;
int main()
{
    cin>>n>>m;
    for(ll i=1;i<=n;i++) cin>>a[i];
    for(ll i=0;i<=n;i++) dp[i][0]=1;
    for(ll i=1;i<=n;i++){
        s[0]=dp[i][0];
        for(ll j=1;j<=m+1;j++) s[j]=s[j-1]+dp[i-1][j];
        for(ll j=1;j<=m;j++) dp[i][j]=(dp[i][j]+s[j]-s[j-min(j,a[i])-1])%mod;
    }
    cout<<dp[n][m];
    return 0;
}