#include<bits/stdc++.h>
using namespace std;
int m,n,dfs[100020000],k;
int fun(int a[],int b)
{
int cnt=0,he;
if(b==0)
{
if(a[b]==m) return 1;
else if(a[b]<m)
{
dfs[b]=a[b];k++;
return 0;
}
}
int k1=k;
if(a[b]==m) return 1;
if(a[b]<m)
{
dfs[k++]=a[b];
if(dfs[k-1]==m) cnt++;
for(int i=0;i<k1;i++)
{
he=dfs[i]+a[b];
if(he==m) cnt++;
else if(he<m) dfs[k++]=he;
}
return cnt;
}
else return 0;
}
int main()
{
int a[1001],ans=0;
cin>>n>>m;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=0;i<n;i++)
{
ans+=fun(a,i);
}
cout<<ans;
return 0;
}