#include "bits/stdc++.h" using namespace std; #define MAX 30000 long long dp[MAX]; long long mod = 1234567891; int main() { int N; long long M; cin >> N >> M; vector A(N); for (int i = 0; i < N; i++) { cin >> A[i]; } dp[0] = 1; for (int t = 60; t >= 0; t--) { int add = (M >> t) % 2; for (int i = MAX - 1; i >= 0; i--) { if (i % 2 == add) dp[i] = dp[i / 2]; else dp[i] = 0; } for (int i = 0; i < N; i++) { for (int j = A[i]; j < MAX; j++) { dp[j - A[i]] += dp[j]; dp[j - A[i]] %= mod; } } } cout << dp[0] << endl; }