#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int ll; typedef pair P; const ll MOD=1234567891; int main() { int n; ll m; cin>>n>>m; int a[50]; for(int i=0; i>a[i]; ll dp0[51][25001]={}; dp0[0][0]=1; for(int i=0; i=a[i]) dp0[i+1][j]+=dp0[i][j-a[i]]; dp0[i+1][j]%=MOD; } } vector ind[2]; for(int k=0; k<=25000; k++){ if(dp0[n][k]==0) continue; ind[k&1].push_back(k); } ll dp[61][25001]={}; dp[0][0]=1; for(int i=0; i<60; i++){ int par=((m&(1ll<