Count Pairs

题意翻译

给定一个质数 $p$ , 一个长度为 $n$ 的序列 $a_1,a_2,...,a_n$ 和一个整数 $k$。保证序列中的元素互不相同。 求所有数对 $(i, j) (1 \le i,j \le n)$ 中满足 $(a_i + a_j) * (a_i^2 + a_j^2 ) \equiv k \bmod p.$ 的个数.

题目描述

You are given a prime number $ p $ , $ n $ integers $ a_1, a_2, \ldots, a_n $ , and an integer $ k $ . Find the number of pairs of indexes $ (i, j) $ ( $ 1 \le i < j \le n $ ) for which $ (a_i + a_j)(a_i^2 + a_j^2) \equiv k \bmod p $ .

输入输出格式

输入格式


The first line contains integers $ n, p, k $ ( $ 2 \le n \le 3 \cdot 10^5 $ , $ 2 \le p \le 10^9 $ , $ 0 \le k \le p-1 $ ). $ p $ is guaranteed to be prime. The second line contains $ n $ integers $ a_1, a_2, \ldots, a_n $ ( $ 0 \le a_i \le p-1 $ ). It is guaranteed that all elements are different.

输出格式


Output a single integer — answer to the problem.

输入输出样例

输入样例 #1

3 3 0
0 1 2

输出样例 #1

1

输入样例 #2

6 7 2
1 2 3 4 5 6

输出样例 #2

3

说明

In the first example: $ (0+1)(0^2 + 1^2) = 1 \equiv 1 \bmod 3 $ . $ (0+2)(0^2 + 2^2) = 8 \equiv 2 \bmod 3 $ . $ (1+2)(1^2 + 2^2) = 15 \equiv 0 \bmod 3 $ . So only $ 1 $ pair satisfies the condition. In the second example, there are $ 3 $ such pairs: $ (1, 5) $ , $ (2, 3) $ , $ (4, 6) $ .