fork download
  1. #include<bits/stdc++.h>
  2. #define int long long
  3. #define endl "\n"
  4. using namespace std;
  5. const int MOD=1e9+7;
  6. int powmod(int a, int b)
  7. {
  8. int d,kq=1,d1;
  9. while (b>1)
  10. {
  11. d=a; d1=1;
  12. while (d1<=b/2)
  13. {
  14. d=(d*d)%MOD; d1=d1*2;
  15. }
  16. b=b-d1; kq=(kq*d)%MOD;
  17. }
  18. if (b==1) kq=(kq*a)%MOD;
  19. return kq;
  20. }
  21. signed main()
  22. {
  23. ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
  24. int n,a,b; cin>>n; while (n--)
  25. {
  26. cin>>a>>b; cout<<powmod(a,b)<<endl;
  27. }
  28. return 0;
  29. }
  30.  
Success #stdin #stdout 0.01s 5268KB
stdin
3
3 4
2 8
123 123
stdout
81
256
921450052