#CF2095E. 配对计数

配对计数

题目描述

给定一个质数 ppnn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n 和一个整数 kk

求满足 $(a_i \oplus a_j)(a_i^2 \oplus a_j^2) \equiv k \pmod p$ 的下标对 (i,j)(i, j) (1i<jn1 \le i < j \le n) 的数量。

其中 \oplus 表示按位异或运算

输入

第一行包含三个整数 n,p,kn, p, k (2n31052 \le n \le 3 \cdot 10^5, 2p1092 \le p \le 10^9, 0kp10 \le k \le p-1)。pp 保证是质数。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n (0aip10 \le a_i \le p-1)。保证所有元素互不相同。

输出

输出一个整数 — 问题的答案。

样例说明

在第一个样例中:

(01)(0212)=11(mod3)(0\oplus1)(0^2 \oplus 1^2) = 1 \equiv 1 \pmod 3.

(02)(0222)=82(mod3)(0\oplus2)(0^2 \oplus 2^2) = 8 \equiv 2 \pmod 3.

(12)(1222)=150(mod3)(1\oplus2)(1^2 \oplus 2^2) = 15 \equiv 0 \pmod 3.

因此只有 11 对满足条件。

在第二个样例中,有 33 对满足条件: (1,5)(1, 5), (1,6)(1, 6), (3,6)(3, 6)

3 3 2
0 1 2
1
6 11 2
1 3 5 6 7 8
3