rt
code:
#include <bits/stdc++.h>
typedef long long ll;
typedef int I;
#define F1(i, k, n, u) for(I i = k; i <= n; i += u)
#define F2(i, n, k, u) for(I i = n; i >= k; i -= u)
#define sc scanf
#define pr printf
#define vd void
#define hh; puts("");
#define str string
#define wh while
using namespace std;
const int N = 1e9;
int n, m, a[101], ans;
inline void dfs(int i, int sum) {
if (i == n + 1) {
if (sum == m) ans += 1;
return;
}
dfs(i + 1, sum);
dfs(i + 1, sum + a[i]);
}
int main(){
sc("%d%d", &n, &m);
F1(i, 1, n, 1)
sc("%d", &a[i]);
dfs(1, 0);
pr("%d\n", ans);
}