Inverse of sum

Time Limit: 6000/3000 MS (Java/Others)

Memory Limit: 524288/524288 K (Java/Others)

Description

There are $n$ nonnegative integers $a_{1…n}$ which are less than $p$. HazelFan wants to know how many pairs $i,j(1\leq i<j\leq n)$ are there, satisfying $\frac{1}{a_i+a_j}\equiv\frac{1}{a_i}+\frac{1}{a_j}$ when we calculate module $p$, which means the inverse element of their sum equals the sum of their inverse elements. Notice that zero element has no inverse element.

Input

The first line contains a positive integer $T(1\leq T\leq5)$, denoting the number of test cases.
For each test case:
The first line contains two positive integers $n,p(1\leq n\leq10^5,2\leq p\leq10^{18})$, and it is guaranteed that $p$ is a prime number.
The second line contains $n$ nonnegative integers $a_{1...n}(0\leq a_i<p)$.

Output

For each test case:
A single line contains a nonnegative integer, denoting the answer.

Sample Input

2 5 7 1 2 3 4 5 6 7 1 2 3 4 5 6

Sample Output

4 6

Hint

liuyiding

Source

2017 Multi-University Training Contest - Te

提交代码