fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int N, data[200002];
  5. long long MOD = 998244353;
  6. int table[2002][2002];
  7.  
  8. void multiply() {
  9. for(int i = 1; i <= 2000; i++)
  10. for(int j = i+1; j <= 2000; j++)
  11. table[i][j] = table[j][i] = i^j;
  12. }
  13.  
  14. int main() {
  15. cin >> N;
  16. for(int i = 0; i < N; i++)
  17. cin >> data[i];
  18. sort(data, data+N);
  19. bool unique = true;
  20. for(int i = 1; i < N && unique; i++)
  21. if(data[i] == data[i-1])
  22. unique = false;
  23. if(!unique)
  24. cout << 0 << endl;
  25. else {
  26. multiply();
  27. long long ans = 1;
  28. for(int i = 0; i < N; i++)
  29. for(int j = i+1; j < N; j++)
  30. ans = (ans*table[data[i]][data[j]])%MOD;
  31. cout << ans << endl;
  32. }
  33. return 0;
  34. }
Success #stdin #stdout 0.02s 19340KB
stdin
4
2 5 11 7
stdout
105840