fork(45) download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. #define mod 1000000007
  5. long long int modfun(long long int a,long long int b)
  6. {
  7. long long int result = 1;
  8. while (b > 0)
  9. {
  10. if (b & 1)
  11. {
  12. a=a%mod;
  13. result = (result * a)%mod;
  14. result=result%mod;
  15. }
  16. b=b>>1;
  17. a=a%mod;
  18. a = (a*a)%mod;
  19. a=a%mod;
  20. }
  21. return result;
  22. }
  23. int main()
  24. {
  25. int t;
  26. cin>>t;
  27. while(t--)
  28. {
  29. long long int a,b;
  30. cin>>a>>b;
  31. if(a==0)
  32. cout<<0<<"\n";
  33. else if(b==0)
  34. cout<<1<<"\n";
  35. else if(b==1)
  36. cout<<a%mod<<"\n";
  37. else
  38. {
  39. cout<<(modfun(a,b))%mod<<"\n";
  40. }
  41.  
  42. }
  43. return 0;
  44. }
  45.  
Success #stdin #stdout 0s 2900KB
stdin
1
2 3
stdout
8