#include #pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") using namespace std; #define rep(i,n) for(int i=0;i<(n);i++) using ll=long long; signed main(){ vector fac(17, 1); for(int i = 2; i < 17; i++) fac[i] = fac[i - 1] * i; int N, K; cin >> N >> K; vector C(N, 0), A; for(int i = 1; i < 10; i++){ cin >> C[i]; for(int j = 0; j < C[i]; j++) A.push_back(i); } vector> dp(1<(K, 0)); dp[0][0] = 1; for(int cur = 0; cur < (1<>i) & 1)){ for(int j = 0; j < K; j++){ int nj = (j * 10 % K + A[i]) % K; dp[cur | (1<