G.cpp 510 B

123456789101112131415161718192021222324
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef unsigned long long ULL;
  4. ULL pown(ULL a, ULL n, int mod){
  5. if(a == 0)return 0;
  6. if(a == 1 || n == 0) return 1;
  7. if(n == 1)return a%mod;
  8. ULL t = pown(a, n / 2, mod);
  9. if(n % 2 == 0){
  10. return t * t % mod;
  11. }else{
  12. return t * t % mod * a % mod;
  13. }
  14. }
  15. int main(){
  16. ULL a, b, c, d;
  17. int m;
  18. cin >> a >> b >> c >> d >> m;
  19. a = a % m;
  20. b = b % m;
  21. a = a * b % m;
  22. c *= d;
  23. cout << pown(a, c, m) << endl;
  24. }