题目描述
给定一个质数 p、n 个整数 a1,a2,…,an 和一个整数 k。
求满足 $(a_i \oplus a_j)(a_i^2 \oplus a_j^2) \equiv k \pmod p$ 的下标对 (i,j) (1≤i<j≤n) 的数量。
其中 ⊕ 表示按位异或运算。
输入
第一行包含三个整数 n,p,k (2≤n≤3⋅105, 2≤p≤109, 0≤k≤p−1)。p 保证是质数。
第二行包含 n 个整数 a1,a2,…,an (0≤ai≤p−1)。保证所有元素互不相同。
输出
输出一个整数 — 问题的答案。
样例说明
在第一个样例中:
(0⊕1)(02⊕12)=1≡1(mod3).
(0⊕2)(02⊕22)=8≡2(mod3).
(1⊕2)(12⊕22)=15≡0(mod3).
因此只有 1 对满足条件。
在第二个样例中,有 3 对满足条件: (1,5), (1,6), (3,6)。
3 3 2
0 1 2
1
6 11 2
1 3 5 6 7 8
3