#include using namespace std; #ifdef LOCAL #include "settings/debug.cpp" #else #define Debug(...) void(0) #endif #define rep(i, n) for (int i = 0; i < (n); ++i) using ll = long long; using ull = unsigned long long; int main() { cin.tie(nullptr)->sync_with_stdio(false); int n, w; cin >> n >> w; vector a(n); rep(i, n) cin >> a[i]; int ans = 0; rep(sel, 1 << n) { if (sel == 0) continue; vector x; rep(i, n) if (sel >> i & 1) x.push_back(a[i]); bool ok = false; rep(bit, 1 << x.size()) { ll sum = 0; rep(i, x.size()) sum += x[i] / ((bit >> i & 1) + 1); if (sum == w) { ok = true; break; } } if (ok) ans++; } cout << ans << '\n'; return 0; }