n, p, q = map(int, input().split()) A = list(map(int, input().split())) A.sort() C = [10, 9, 7, 5] dp = [[0] * p for _ in range(5)] dp[0][0] = 1 for a in A: nex = [row[:] for row in dp] for t in range(4): add = pow(C[t], a, p) for j in range(p): nex[t + 1][(j + add) % p] += dp[t][j] dp = nex print(dp[-1][q])