#include<stdio.h>
#include<memory.h>
long long dp[20000];
int main()
{
int v,n,a[30],i,j;
while(scanf("%d%d",&n,&v)!=EOF)
{
memset(dp,0,sizeof(dp));
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
dp[0]=1;
for(i=1;i<=n;i++)
for(j=a[i];j<=v;j++)
dp[j]=dp[j]+dp[j-a[i]];
printf("%lld\n",dp[v]);
}
return 0;
}