fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define FAST std::ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(0);
  4. #define int long long
  5. int N = 999983;
  6. int modularExponentiation (int base, int exponent) {
  7. int ans = 1;
  8. while (exponent) {
  9. if (exponent&1) {
  10. ans *= base;
  11. ans %= N;
  12. }
  13. base *= base;
  14. base %= N;
  15. exponent /= 2;
  16. }
  17.  
  18. return ans;
  19. }
  20.  
  21. int inv(int num) {
  22. return (modularExponentiation(num, N-2));
  23. }
  24. int32_t main (){
  25. FAST
  26. int tc; cin >> tc;
  27. while (tc--) {
  28. string s; cin >> s;
  29. map<char, int> freq;
  30. for (auto &c : s)
  31. ++freq[c];
  32.  
  33. int Numerator = 1, denominator = 1;
  34. for (int i = 1; i <= s.size(); ++i)
  35. Numerator = ( (Numerator % N) * (i % N) ) % N;
  36.  
  37. for (auto &cur : freq) {
  38. denominator = (denominator % N * inv(cur.second) % N) % N;
  39. }
  40.  
  41. cout << Numerator * denominator << "\n";
  42. }
  43. return 0;
  44. }
Success #stdin #stdout 0.01s 5516KB
stdin
2
aabac
negm
stdout
39999360
24