## https://yukicoder.me/problems/no/2709 def main(): N, P, Q = map(int, input().split()) A = list(map(int, input().split())) A.sort() pows = [0] * P pow_list = [[0] * P for _ in range(N + 1)] for i in range(N): a = A[i] b = pow(5, a, P) pows[b] += 1 for p in range(P): pow_list[i + 1][p] = pows[p] answer = 0 for i in range(N): ten = pow(10, A[i], P) for j in range(i + 1, N): nine = pow(9, A[j], P) for k in range(j + 1, N): seven = pow(7, A[k], P) q = Q q -= ten q %= P q -= nine q %= P q -= seven q %= P ans = pow_list[-1][q] - pow_list[k + 1][q] answer += ans print(answer) if __name__ == "__main__": main()