fork download
  1. #include <iostream>
  2. #include <cmath>
  3. #include <algorithm>
  4. #define ll long long
  5. #define MOD 35242346
  6. using namespace std;
  7.  
  8. typedef struct point {
  9. ll x, y;
  10. };
  11.  
  12. ll powMod(ll base, ll n, ll mod) {
  13. if (base % mod == 0) return 0;
  14. if (n == 1) return base % mod;
  15. if (n % 2 == 0) return (powMod(base, n / 2, mod) * powMod(base, n / 2, mod)) % mod;
  16. if (n % 2 != 0) return (powMod(base, n - 1, mod) * powMod(base, 1, mod)) % mod;
  17. }
  18.  
  19. ll gcd(ll a, ll b) {
  20. if (a == 0) return b;
  21. if (b == 0) return a;
  22. if (a >= b) return gcd(a % b, b);
  23. if (a < b) return gcd(a, b % a);
  24. }
  25.  
  26. int main()
  27. {
  28. ll sum = 1;
  29. ll n, m;
  30. cin >> n >> m;
  31. for (int i = 2;i <= 100;i++) {
  32. sum = (sum + (i - 1) * powMod(i, n, m)) % MOD;
  33. }
  34.  
  35. cout << sum;
  36.  
  37. return 0;
  38. }
Success #stdin #stdout 0.01s 5356KB
stdin
12345678 35242346
stdout
5447885