#include<bits/stdc++.h>
using namespace std;
#define maxn 12
double ans[maxn],tp[maxn],inv[maxn];
int n,m,a[maxn];
void init()
{
inv[0]=1;
for(int i=1; i<=11; i++)
inv[i]=inv[i-1]*i;
}
int main()
{
init();
while(~scanf("%d%d",&n,&m))
{
for(int i=1; i<=n; i++)
scanf("%d",&a[i]);
memset(ans,0,sizeof(ans));
memset(tp,0,sizeof(tp));
for(int i=0; i<=a[1]; i++)
ans[i]=1/inv[i];
for(int i=2; i<=n; i++)
{
for(int j=0; j<=m; j++)
for(int k=0; k<=a[i]&&j+k<=m; k++)
tp[j+k]+=ans[j]/inv[k];
for(int j=0; j<=m; j++)
ans[j]=tp[j],tp[j]=0;
}
printf("%.0lf\n",ans[m]*inv[m]);
}
return 0;
}