fork(2) download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. long long int M = 1e9 + 7;
  4. long long int power(long long int b,long long int n){
  5. long long int ans(1);
  6. while(n){
  7. if(n&1)
  8. ans=(ans*b)%M;
  9. b=(b*b)%M;
  10. n>>=1;
  11. }
  12. return ans;
  13. }
  14. void f(long long int a,long long int b,long long int &x,long long int &y){
  15. if(!b){
  16. x=1;
  17. y=0;
  18. }
  19. else {
  20. f(b,a%b,x,y);
  21. long long int temp=x;
  22. x=y;
  23. y=temp-(a/b)*y;
  24. }
  25. }
  26. int main(){
  27. ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
  28. int tc;
  29. cin>>tc;
  30. while(tc--){
  31. long long int m,n,mn,x,y;
  32. cin>>m>>n;
  33. mn=power(m,n);
  34. f(m-1,M,x,y);
  35. cout<<((mn-1)*(x%M+M))%M<<' '<<mn<<endl;
  36. }
  37. }
  38.  
Success #stdin #stdout 0s 3468KB
stdin
1
4 3
stdout
21 64