fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. long long pow1(long long x,long long y)
  5. {
  6. if(y ==0)
  7. {
  8. return 1;
  9. }
  10.  
  11. if(y ==1)
  12. {
  13. return x;
  14. }
  15.  
  16. long long val = pow1(x,y/2);
  17. if(y%2 == 0)
  18. {
  19. return (val*val)%1000000007;
  20. }
  21. else
  22. {
  23. return (val*val*x)%1000000007;
  24. }
  25. }
  26.  
  27.  
  28. int main() {
  29.  
  30. long long n;
  31. cin>>n;
  32.  
  33.  
  34. cout<<pow1(2,n)%1000000007<<endl;
  35.  
  36.  
  37. return 0;
  38. }
Success #stdin #stdout 0.01s 5284KB
stdin
1000000
stdout
235042059