def main(): N, P, Q = map(int, input().split()) A = sorted(map(int, input().split())) divisors = [10, 9, 7, 5] A_mod = [{div_: pow(div_, a_elm, P) for div_ in divisors} for a_elm in A] table = [[[0 for _ in range(5)] for _ in range(P)] for _ in range(2)] table[0][0][0] = 1 for mod_elm in A_mod: for cur_rest in range(P): for cur_phase in range(5): if table[0][cur_rest][cur_phase] == 0: continue table[1][cur_rest][cur_phase] += table[0][cur_rest][cur_phase] if cur_phase < 4: table[1][(cur_rest + mod_elm[divisors[cur_phase]]) % P][cur_phase + 1] += table[0][cur_rest][cur_phase] table[0] = table[1] table[1] = [[0 for _ in range(5)] for _ in range(P)] print(table[0][Q][-1]) if __name__ == "__main__": main()