Codeforces Round 572 (Div. 1) |
---|

Finished |

Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

math

matrices

number theory

two pointers

*2300

No tag edit access

The problem statement has recently been changed. View the changes.

×
B. Count Pairs

time limit per test

4 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputYou 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$$$.

Input

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

Output a single integer — answer to the problem.

Examples

Input

3 3 0 0 1 2

Output

1

Input

6 7 2 1 2 3 4 5 6

Output

3

Note

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)$$$.

Codeforces (c) Copyright 2010-2023 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Jun/07/2023 09:24:58 (h2).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|