n, k = read_line.split.map(&.to_i) c = read_line.split.map(&.to_i) digits = (1..9).flat_map { |x| [x] * c[x - 1] } dp = Array.new(2**n) { [0i64] * k } dp[0][0] = 1 (0...2**n).each { |set| (0...k).each { |r| (0...n).each { |i| dp[set | (1 << i)][(r * 10 + digits[i]) % k] += dp[set][r] if set.bit(i) == 0 } } } ans = dp.last[0] c.each { |c| (1..c).each { |x| ans //= x } } puts ans