#include<iostream>
#include<algorithm>
using namespace std;
int a[1005];
int sum = 0;
int n, m;
void dfs(int x, int y)
{
if (y > m)return;
if (y == m)
{
sum++;
return;
}
if (x == n)return;
if (y + a[x] <= m)
{
dfs(x + 1, y + a[x]);
dfs(x + 1, y);
}
return;
}
int main()
{
cin >> n >> m;
for (int i = 0; i < n; i++)cin >> a[i];
sort(a, a + n);
dfs(0, 0);
cout << sum;
return 0;
}