fork(3) download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. //#define M 5
  4. #define input(x,y,z) scanf("%lld %lld %lld",&x,&y,&z);
  5. #define output(x) printf("%lld\n",x);
  6. long long int power(long long int a, long long int b,long long M) {
  7. if(b==0)
  8. return 1;
  9. long long tmp=power(a,b/2,M);
  10. tmp=(((tmp)*(tmp))%M);
  11. if(b%2==1)
  12. tmp=((tmp*(a%M))%M);
  13. return (tmp%M);
  14. }
  15. int main(void) {
  16. long long int t,n,k,c,i,g,ans,a,b;
  17. while(1) {
  18. ans=0;
  19. int f=0;
  20. input(a,b,c);
  21. if(a==-1 && b==-1 &&c==-1)
  22. break;
  23. else {
  24. g=power(b,c,1000000006ll);
  25. //printf("%d\n",g);
  26. ans=power(a,g,1000000007ll);
  27. if(a==0) {
  28. if(g==0)
  29. ans=1;
  30. else
  31. ans=0;
  32. }
  33.  
  34. }
  35. ans=ans%1000000007ll;
  36. output(ans);
  37. }
  38. return 0;
  39. }
Success #stdin #stdout 0s 2732KB
stdin
2 2 2
3 4 5
20000000000 20000000000 20000000000
-1 -1 -1
stdout
16
763327764
76634763