#include<bits/stdc++.h>
using namespace std;
int n,m,a[105],ans;
void dfs(int step,int sum){
if(step==n&&sum==m){
ans=(ans+1)%1000007;
return;
}
for(int i=0;i<=a[step];i++){
if(sum+i>m){
continue;
}
dfs(step+1,sum+i);
}
}
int main(){
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>a[i];
}
dfs(0,0);
cout<<ans;
return 0;
}