#CF1931D. D. 可整除对

D. 可整除对

D. 可整除对

每个测试的时间限制:2 秒
内存限制:256 MB

Polycarp 有两个他最喜欢的整数 xxyy(它们可以相等),并且他有一个长度为 nn 的数组 aa

如果满足以下条件,Polycarp 认为一对下标 i,j\langle i, j \rangle1i<jn1 \le i < j \le n)是美丽的

  • ai+aja_i + a_j 可以被 xx 整除;
  • aiaja_i - a_j 可以被 yy 整除。

例如,如果 x=5x = 5y=2y = 2n=6n = 6a=[1,2,7,4,9,6]a = [1,2,7,4,9,6],那么美丽的有序对只有:

  • 1,5\langle 1,5 \ranglea1+a5=1+9=10a_1 + a_5 = 1 + 9 = 101010 能被 55 整除)且 a1a5=19=8a_1 - a_5 = 1 - 9 = -88-8 能被 22 整除);
  • 4,6\langle 4,6 \ranglea4+a6=4+6=10a_4 + a_6 = 4 + 6 = 101010 能被 55 整除)且 a4a6=46=2a_4 - a_6 = 4 - 6 = -22-2 能被 22 整除)。

请在数组 aa 中找到美丽对的数量。

输入
第一行包含一个整数 tt1t1041 \le t \le 10^4)——测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含三个整数 n,x,yn, x, y2n21052 \le n \le 2 \cdot 10^51x,y1091 \le x, y \le 10^9)——数组大小和 Polycarp 最喜欢的两个整数。

每个测试用例的第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1091 \le a_i \le 10^9)——数组元素。

保证所有测试用例的 nn 之和不超过 21052 \cdot 10^5

输出
对于每个测试用例,输出一个整数——数组中美丽对的数量。

示例输入

7
6 5 2
1 2 7 4 9 6
7 9 5
1 10 15 3 8 12 15
9 4 10
14 10 2 2 11 11 13 5 6
9 5 6
10 7 6 7 9 7 7 10 10
9 6 2
4 9 7 1 2 2 13 3 15
9 2 3
14 6 1 15 12 15 8 2 15
10 5 7
13 3 3 2 12 11 3 7 13 14

示例输出

2
0
1
3
5
7
0