from collections import defaultdict from itertools import combinations import sys def printe(*args, end="\n", **kwargs): print(*args, end=end, file=sys.stderr, **kwargs) def main(): N, P, Q = map(int, input().split()) A = list(map(int, input().split())) A.sort() mod_P_pow_5 = defaultdict(set) for a_elm in A: mod_P_pow_5[pow(5, a_elm, P)].add(a_elm) ctr = 0 for a, b, c in combinations(A, 3): c_mod = (pow(10, a, P) + pow(9, b, P) + pow(7, c, P)) % P rest_mod = (Q - c_mod) % P ctr += len(list(filter(lambda elm: elm > c, mod_P_pow_5[rest_mod]))) print(ctr) if __name__ == "__main__": main()