#include <bits/stdc++.h>
using namespace std;
#define int long long int
#define double long double
const int M = 1000000007;
const int N = 3e5+9;
const int INF = 2e9+1;
const int LINF = 2000000000000000001;
//_ ***************************** START Below *******************************
int power(int a, int n, int mod=M) {
a %= mod;
int res = 1;
while (n) {
if (n & 1) res = (res*a)%mod;
a = (a*a)%mod;
n >>= 1;
}
return res;
}
int binPower(int a, int n, int mod=M){
if(n==0) return 1;
int res = binPower(a, n/2)%mod;
if(n & 1) return ((res * res)%mod * a)%mod;
return (res * res )%mod;
}
void solve() {
int a, n;
cin>>a >> n;
cout << power(a, n) << " " << binPower(a, n) << endl;
}
int32_t main() {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int t = 1;
cin >> t;
while (t--) {
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50ICAgICAgICAgICAgICBsb25nIGxvbmcgaW50CiNkZWZpbmUgZG91YmxlICAgICAgICAgICBsb25nIGRvdWJsZQogCiAKY29uc3QgaW50IE0gPSAxMDAwMDAwMDA3Owpjb25zdCBpbnQgTiA9IDNlNSs5Owpjb25zdCBpbnQgSU5GID0gMmU5KzE7CmNvbnN0IGludCBMSU5GID0gMjAwMDAwMDAwMDAwMDAwMDAwMTsKIAoKIAogCi8vXyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBTVEFSVCBCZWxvdyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAKIAppbnQgcG93ZXIoaW50IGEsIGludCBuLCBpbnQgbW9kPU0pIHsKICAgIGEgJT0gbW9kOwogICAgaW50IHJlcyA9IDE7CiAgICB3aGlsZSAobikgewogICAgICAgIGlmIChuICYgMSkgcmVzID0gKHJlcyphKSVtb2Q7CiAgICAgICAgYSA9IChhKmEpJW1vZDsKICAgICAgICBuID4+PSAxOwogICAgfQogICAgcmV0dXJuIHJlczsKfQoKaW50IGJpblBvd2VyKGludCBhLCBpbnQgbiwgaW50IG1vZD1NKXsKCWlmKG49PTApIHJldHVybiAxOwoJCglpbnQgcmVzID0gYmluUG93ZXIoYSwgbi8yKSVtb2Q7CgkKCWlmKG4gJiAxKSByZXR1cm4gKChyZXMgKiByZXMpJW1vZCAqIGEpJW1vZDsKCXJldHVybiAocmVzICogcmVzICklbW9kOwp9CiAKCiAKdm9pZCBzb2x2ZSgpIHsKICAgIAogICAgCiAgICBpbnQgYSwgbjsKICAgIGNpbj4+YSA+PiBuOwoKICAgIGNvdXQgPDwgcG93ZXIoYSwgbikgPDwgIiAiIDw8IGJpblBvd2VyKGEsIG4pIDw8IGVuZGw7CiAKIAp9CiAKIAogCiAKIAppbnQzMl90IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKIAogCiAgICBpbnQgdCA9IDE7CiAgICBjaW4gPj4gdDsKICAgIHdoaWxlICh0LS0pIHsKICAgICAgICBzb2x2ZSgpOwogICAgfQogCiAgICByZXR1cm4gMDsKfQ==