D. 可整除对
每个测试的时间限制:2 秒
内存限制:256 MB
Polycarp 有两个他最喜欢的整数 x 和 y(它们可以相等),并且他有一个长度为 n 的数组 a。
如果满足以下条件,Polycarp 认为一对下标 ⟨i,j⟩ (1≤i<j≤n)是美丽的:
- ai+aj 可以被 x 整除;
- ai−aj 可以被 y 整除。
例如,如果 x=5,y=2,n=6,a=[1,2,7,4,9,6],那么美丽的有序对只有:
- ⟨1,5⟩:a1+a5=1+9=10(10 能被 5 整除)且 a1−a5=1−9=−8(−8 能被 2 整除);
- ⟨4,6⟩:a4+a6=4+6=10(10 能被 5 整除)且 a4−a6=4−6=−2(−2 能被 2 整除)。
请在数组 a 中找到美丽对的数量。
输入
第一行包含一个整数 t(1≤t≤104)——测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含三个整数 n,x,y(2≤n≤2⋅105,1≤x,y≤109)——数组大小和 Polycarp 最喜欢的两个整数。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(1≤ai≤109)——数组元素。
保证所有测试用例的 n 之和不超过 2⋅105。
输出
对于每个测试用例,输出一个整数——数组中美丽对的数量。
示例输入
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