← Home
write a go solution for Description:
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<=i<j<=n) for which (a_i+a_j)(a_i^2+a_j^2)equivkbmodp.

Input Format:
The first line contains integers n,p,k (2<=n<=3*10^5, 2<=p<=10^9, 0<=k<=p-1). p is guaranteed to be prime.

The second line contains n integers a_1,a_2,ldots,a_n (0<=a_i<=p-1). It is guaranteed that all elements are different.

Output Format:
Output a single integer — answer to the problem.

Note:
In the first example:

(0+1)(0^2+1^2)=1equiv1bmod3.

(0+2)(0^2+2^2)=8equiv2bmod3.

(1+2)(1^2+2^2)=15equiv0bmod3.

So only 1 pair satisfies the condition.

In the second example, there are 3 such pairs: (1,5), (2,3), (4,6).. Output only the code with no comments, explanation, or additional text.