fork download
  1. #include <iostream>
  2. #include <cmath>
  3. #include <vector>
  4. #include <string>
  5. #include <bits/stdc++.h>
  6. #include <cstdlib>
  7. #include <time.h>
  8. #include <fstream>
  9. #include <iterator>
  10. #include <utility>
  11. #include <algorithm>
  12. using namespace std;
  13.  
  14. typedef vector<int> vi;
  15. #define ll long long
  16. #define all(v) ((v).begin()), ((v).end())
  17. #define sz(v) ((int)((v).size()))
  18.  
  19. #define vinp(v, n) \
  20.   for (int i = 0; i < (n); i++) \
  21.   cin >> (v)[i]
  22. #define printv(v) \
  23.   for (auto i : (v)) \
  24.   cout << i << " "
  25. #define fast() \
  26.   ios::sync_with_stdio(0); \
  27.   cin.tie(0); \
  28.   cout.tie(0);
  29. #define loop(n) for (int i = 0; i < (n); i++)
  30. #define _CRT_SECURE_NO_WARNING
  31. const int MOD = 1e9 + 7;
  32.  
  33. // Function to calculate factorial modulo MOD
  34. long long factorial(ll n) {
  35. long long result = 1;
  36. for (ll i = 1; i <= n; ++i) {
  37. result = (result * i) % MOD;
  38. }
  39. return result;
  40. }
  41. int main()
  42. {
  43. string s;
  44. cin >> s;
  45. ll n = s.length();
  46. ll freq[123]={};
  47. ll c=-1;
  48. for(ll i=0;i<n;i++){
  49. freq[s[i]]++;
  50. if(freq[s[i]]==1){
  51. c++;
  52. }
  53. }
  54. long long ans = factorial(n);
  55. long long b = factorial(n-c);
  56. ll sum = (ans%MOD)/(b%MOD);
  57. cout << sum << endl;
  58.  
  59. return 0;
  60. }
Success #stdin #stdout 0.01s 5308KB
stdin
Standard input is empty
stdout
1