#include<bits/stdc++.h>
using namespace std;
const int N = 110;
int a[N];
int n,m;
int dfs(int k,int x)
{
if(k==m)return 1;
if(x>n)return 0;
if(k>m)return 0;
int ans=0;
for(int i=x;i<=n;i++)
{
k+=a[i];
x=i+1;
if(k>m)break;
ans+=dfs(k,x);
k-=a[i];
}
return ans;
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+1+n);
cout<<dfs(0,1);
}