fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. // Speed
  4. #define fast_io ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)
  5. // Typedefs
  6. #define int long long
  7. #define pb push_back
  8. #define ff first
  9. #define ss second
  10. #define all(x) (x).begin(), (x).end()
  11. #define rall(x) (x).rbegin(), (x).rend()
  12. #define sz(x) ((int)(x).size())
  13. #define endl '\n'
  14. #define yes cout << "yes\n"
  15. #define no cout << "no\n"
  16. // Loops
  17. #define rep(i,a,b) for(int i=a;i<b;++i)
  18. #define per(i,a,b) for(int i=b-1;i>=a;--i)
  19. #define each(x, a) for (auto& x : a)
  20. // Consts
  21. const int INF = 1e18;
  22. const int MOD = 1e9+7;
  23. const int N = 2e5 + 5;
  24.  
  25. void solve() {
  26. int n, x, y;
  27. cin >> n >> x >> y;
  28. vector<int> a(n);
  29. rep(i, 0, n) cin >> a[i];
  30.  
  31. map<pair<int, int>, int> mp;
  32. int count = 0;
  33.  
  34. rep(i, 0, n) {
  35. int rx = a[i] % x;
  36. int ry = a[i] % y;
  37. int rxr = (x - rx) % x;
  38. int ryr = ry;
  39.  
  40. if (mp.count({rxr, ryr})) {
  41. count += mp[{rxr, ryr}];
  42. }
  43.  
  44. mp[{rx, ry}]++;
  45. }
  46. cout << count << endl;
  47. }
  48.  
  49. int32_t main() {
  50. fast_io;
  51. int t;
  52. cin >> t;
  53. while (t--) {
  54. solve();
  55. }
  56. return 0;
  57. }
Success #stdin #stdout 0.01s 5224KB
stdin
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
stdout
2
0
1
3
5
7
0