#include #include using namespace std; using Mint = atcoder::static_modint<1234567891>; int main() { int N; long long M; cin >> N >> M; vector A(N); for (int &a : A) cin >> a; vector D = {1}; while (M) { for (int a : A) { D.resize(D.size() + a); for (int i = (int)D.size() - 1; i >= a; i--) D[i] += D[i - a]; } vector E; for (int i = M & 1; i < (int)D.size(); i += 2) E.push_back(D[i]); D = E; M >>= 1; } cout << D[0].val() << endl; }