fork download
  1. #include <iostream>
  2. #include <string.h>
  3. #include <iomanip>
  4. #include <cmath>
  5. #include <algorithm>
  6. #include <set>
  7. #include <map>
  8. #include <queue>
  9. #include <stack>
  10. #include <fstream>
  11.  
  12. using namespace std;
  13.  
  14. #define MOD 1000000007
  15.  
  16. long long int a[101010];
  17.  
  18. long long int poww(long long int a,long long int b)
  19. {
  20. if(b==0)
  21. return 1;
  22. long long int anss =1;
  23. for(long long int i=b;i>=1;i--)
  24. {
  25. anss=anss*a;
  26. // if(anss>=MOD)
  27. // anss=anss%MOD;
  28. }
  29. return anss;
  30. }
  31.  
  32. int main()
  33. {
  34. // freopen("input.txt","r",stdin);
  35. // freopen("output.txt","w",stdout);
  36. string s;
  37. cin>>s;
  38. std::map<char, long long int > map;
  39. map['0']=0;
  40. map['1']=1;
  41. map['2']=2;
  42. map['3']=3;
  43. map['4']=4;
  44. map['5']=5;
  45. map['6']=6;
  46. map['7']=7;
  47. map['8']=8;
  48. map['9']=9;
  49.  
  50. map['a']=36;
  51. map['b']=37;
  52. map['c']=38;
  53. map['d']=39;
  54. map['e']=40;
  55. map['f']=41;
  56. map['g']=42;
  57. map['h']=43;
  58. map['i']=44;
  59. map['j']=45;
  60. map['k']=46;
  61. map['l']=47;
  62. map['m']=48;
  63. map['n']=49;
  64. map['o']=50;
  65. map['p']=51;
  66. map['q']=52;
  67. map['r']=53;
  68. map['s']=54;
  69. map['t']=55;
  70. map['u']=56;
  71. map['v']=57;
  72. map['w']=58;
  73. map['x']=59;
  74. map['y']=60;
  75. map['z']=61;
  76.  
  77. map['-']=62;
  78. map['_']=63;
  79. long long int len;
  80. long long int number=0 ,mm=0;
  81. for(long long int i=0;i<s.length();i++)
  82. {
  83. char temp = s[i];
  84. long long int temper=map[temp];
  85. if(tolower(temp)!=temp)
  86. {
  87. temper=map[tolower(temp)]-26;
  88. }
  89. long long int zz =(pow(64,s.length()-1-i)*temper);
  90. number+=zz;
  91. mm+=(poww(64,s.length()-1-i)*63);
  92. }
  93. long long int mlen = ceil(log2(mm));
  94. len = ceil(log2(number));
  95. long long int tempest = __builtin_popcountll(number);
  96. long long int noofzeros = mlen-tempest;
  97. long long int ans = pow(3,noofzeros);
  98. if(ans>=MOD)
  99. ans%=MOD;
  100. cout<<ans;
  101. return 0;
  102. }
Success #stdin #stdout 0s 4252KB
stdin
zHsIINYjVtU71kmM9E
stdout
-9223372036854775808