#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,k,Sum,Mod=1e9+7,a[101],sum[101],dp[101][100001];
int Dp_Rec(int n, int k)
{
    if(!(sum[n] >= k && n)) return 0;  
    if(dp[n][k]) return dp[n][k];
    if(!(n || k) || !k) return dp[n][k] = 1;
    return dp[n][k] = ((k - a[n] > 0) ? Dp_Rec(n,k-1) + Dp_Rec(n-1,k) - Dp_Rec(n-1,k-a[n]-1) : Dp_Rec(n,k-1) + Dp_Rec(n-1,k)) % Mod;
}
main()
{
    cin >> n >> k;
    for(int i=1; i<=n; i++)
        cin >> a[i],sum[i] = sum[i-1] + a[i];
    cout << Dp_Rec(n,k);
}