#include<bits/stdc++.h>
using namespace std;
long long int M = 1e9 + 7;
long long int power(long long int b,long long int n){
long long int ans(1);
while(n){
if(n&1)
ans=(ans*b)%M;
b=(b*b)%M;
n>>=1;
}
return ans;
}
void f(long long int a,long long int b,long long int &x,long long int &y){
if(!b){
x=1;
y=0;
}
else {
f(b,a%b,x,y);
long long int temp=x;
x=y;
y=temp-(a/b)*y;
}
}
int main(){
ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
int tc;
cin>>tc;
while(tc--){
long long int m,n,mn,x,y;
cin>>m>>n;
mn=power(m,n);
f(m-1,M,x,y);
cout<<((mn-1)*(x%M+M))%M<<' '<<mn<<endl;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKbG9uZyBsb25nIGludCBNID0gMWU5ICsgNzsKbG9uZyBsb25nIGludCBwb3dlcihsb25nIGxvbmcgaW50IGIsbG9uZyBsb25nIGludCBuKXsKCWxvbmcgbG9uZyBpbnQgYW5zKDEpOwoJd2hpbGUobil7CgkJaWYobiYxKQoJCWFucz0oYW5zKmIpJU07CgkJYj0oYipiKSVNOwoJCW4+Pj0xOwoJfQoJcmV0dXJuIGFuczsKfQp2b2lkIGYobG9uZyBsb25nIGludCBhLGxvbmcgbG9uZyBpbnQgYixsb25nIGxvbmcgaW50ICZ4LGxvbmcgbG9uZyBpbnQgJnkpewogICAgaWYoIWIpewogICAgICAgIHg9MTsKICAgICAgICB5PTA7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBmKGIsYSViLHgseSk7CiAgICAgICAgbG9uZyBsb25nIGludCB0ZW1wPXg7CiAgICAgICAgeD15OwogICAgICAgIHk9dGVtcC0oYS9iKSp5OwogICAgfQp9CmludCBtYWluKCl7Cglpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTtjaW4udGllKE5VTEwpO2NvdXQudGllKE5VTEwpOwoJaW50IHRjOwoJY2luPj50YzsKCXdoaWxlKHRjLS0pewogICAgICAgIGxvbmcgbG9uZyBpbnQgbSxuLG1uLHgseTsKICAgICAgICBjaW4+Pm0+Pm47CiAgICAgICAgbW49cG93ZXIobSxuKTsKICAgICAgICBmKG0tMSxNLHgseSk7CiAgICAgICAgY291dDw8KChtbi0xKSooeCVNK00pKSVNPDwnICc8PG1uPDxlbmRsOwoJfQp9Cg==