#include<iostream>
#include<stdio.h>
#include<math.h>
typedef long long ll;
using namespace std;
long long LastKDigitsModularExponetiation( long long base,long long exponent,double mod);
ll firstkdig(int N,int K)
{
long double a=N*log10l(N);//a=R+f where f is the fractional part
ll R=floor(a);
long double f=a-R;//Since n^n=10^a=10^R*10^f 10^R doesn't decide the first k digits.its only 10^f which decides first k digits
ll ans=floor(pow((long double)10,f+K-1));//as 10^f is a single digit
return ans;
}
int length(int n)
{
if(n==0)
return 1;
int len=0;
while(n!=0)
{
n=n/10;
len++;
}
return len;
}
int main()
{
int test;
scanf("%d",&test);
while(test--)
{
int n, k;
scanf("%d%d",&n,&k);
ll ans=firstkdig(n,k);
//cout<<"HELO"<<pow(10,k);
int t1=length((int)ans);
if(t1!=k)
{
for(int i=1;i<=k-t1;i++)
printf("0");
}
printf("%lld ",ans);
long long ans2=LastKDigitsModularExponetiation(n,n,pow(10,k));
t1=length((int)ans2);
if(t1!=k)
{
for(int i=1;i<=k-t1;i++)
printf("0");
}
printf("%lld\n",(long long )ans2);
}
return 0;
}
/*
long int LastKDigitsModularExponetiation(long int base,long int exponent,long double mod)
{
long int res=1;
//cout<<res<<endl;
for(int i=0;i<exponent;i++)
{
res=(res*base);
//cout<<res<<"\t";
res%=int(mod);
//cout<<res<<endl;
}
//cout<<res<<endl;
return res;
}*/
long long LastKDigitsModularExponetiation(long long base, long long exponent, double mod){
if (exponent == 0){return 1;}
if (exponent == 1){return (long long )base % (long long )mod;}
if ((long long)exponent % 2 == 1){
return (((long long )(base) % (long long )mod) *(long long ) LastKDigitsModularExponetiation(base, exponent-1, mod)) % (long long )mod;
}
else{
long double newBase = LastKDigitsModularExponetiation(base, exponent / 2, mod);
return (long long )(newBase * newBase) %(long long) mod;
}
}
I2luY2x1ZGU8aW9zdHJlYW0+CQojaW5jbHVkZTxzdGRpby5oPgojaW5jbHVkZTxtYXRoLmg+CnR5cGVkZWYgbG9uZyBsb25nIGxsOwp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCmxvbmcgbG9uZyAgTGFzdEtEaWdpdHNNb2R1bGFyRXhwb25ldGlhdGlvbiggbG9uZyBsb25nICBiYXNlLGxvbmcgbG9uZyBleHBvbmVudCxkb3VibGUgbW9kKTsKbGwgZmlyc3RrZGlnKGludCBOLGludCBLKQp7Cglsb25nIGRvdWJsZSBhPU4qbG9nMTBsKE4pOy8vYT1SK2Ygd2hlcmUgZiBpcyB0aGUgZnJhY3Rpb25hbCBwYXJ0CiAJbGwgUj1mbG9vcihhKTsKIAlsb25nIGRvdWJsZSBmPWEtUjsvL1NpbmNlIG5ebj0xMF5hPTEwXlIqMTBeZiAxMF5SIGRvZXNuJ3QgZGVjaWRlIHRoZSBmaXJzdCBrIGRpZ2l0cy5pdHMgb25seSAxMF5mIHdoaWNoIGRlY2lkZXMgZmlyc3QgayBkaWdpdHMKIAlsbCBhbnM9Zmxvb3IocG93KChsb25nIGRvdWJsZSkxMCxmK0stMSkpOy8vYXMgMTBeZiBpcyBhIHNpbmdsZSBkaWdpdAogCXJldHVybiBhbnM7Cn0KaW50IGxlbmd0aChpbnQgbikKewoJaWYobj09MCkKCXJldHVybiAxOwoJaW50IGxlbj0wOwoJd2hpbGUobiE9MCkKCXsKCQluPW4vMTA7CgkJbGVuKys7Cgl9CglyZXR1cm4gbGVuOwp9CmludCBtYWluKCkKewoJCglpbnQgdGVzdDsKCXNjYW5mKCIlZCIsJnRlc3QpOwoJd2hpbGUodGVzdC0tKQoJewoJCWludCBuLCBrOwoJCXNjYW5mKCIlZCVkIiwmbiwmayk7CgkJCgkJbGwgYW5zPWZpcnN0a2RpZyhuLGspOwoJCQoJCS8vY291dDw8IkhFTE8iPDxwb3coMTAsayk7CgkJCgkJCgkJaW50IHQxPWxlbmd0aCgoaW50KWFucyk7CgkJaWYodDEhPWspCgkJewoJCQlmb3IoaW50IGk9MTtpPD1rLXQxO2krKykKCQkJCXByaW50ZigiMCIpOwoJCX0KCQlwcmludGYoIiVsbGQgIixhbnMpOwoJCWxvbmcgbG9uZyBhbnMyPUxhc3RLRGlnaXRzTW9kdWxhckV4cG9uZXRpYXRpb24obixuLHBvdygxMCxrKSk7CgkJdDE9bGVuZ3RoKChpbnQpYW5zMik7CgkJaWYodDEhPWspCgkJewoJCQlmb3IoaW50IGk9MTtpPD1rLXQxO2krKykKCQkJCXByaW50ZigiMCIpOwoJCX0KCQlwcmludGYoIiVsbGRcbiIsKGxvbmcgbG9uZyApYW5zMik7Cgl9CglyZXR1cm4gMDsKfQovKgpsb25nIGludCBMYXN0S0RpZ2l0c01vZHVsYXJFeHBvbmV0aWF0aW9uKGxvbmcgaW50IGJhc2UsbG9uZyBpbnQgZXhwb25lbnQsbG9uZyBkb3VibGUgbW9kKQp7Cglsb25nIGludCByZXM9MTsKCS8vY291dDw8cmVzPDxlbmRsOwoJZm9yKGludCBpPTA7aTxleHBvbmVudDtpKyspCgl7CgkJcmVzPShyZXMqYmFzZSk7CgkJLy9jb3V0PDxyZXM8PCJcdCI7CgkJcmVzJT1pbnQobW9kKTsKCQkvL2NvdXQ8PHJlczw8ZW5kbDsKCX0KCS8vY291dDw8cmVzPDxlbmRsOwoJcmV0dXJuIHJlczsKfSovCmxvbmcgbG9uZyBMYXN0S0RpZ2l0c01vZHVsYXJFeHBvbmV0aWF0aW9uKGxvbmcgbG9uZyBiYXNlLCBsb25nIGxvbmcgIGV4cG9uZW50LCBkb3VibGUgbW9kKXsKICAgIGlmIChleHBvbmVudCA9PSAwKXtyZXR1cm4gMTt9CiAgICBpZiAoZXhwb25lbnQgPT0gMSl7cmV0dXJuIChsb25nIGxvbmcgKWJhc2UgJSAobG9uZyBsb25nICltb2Q7fQogICAgaWYgKChsb25nIGxvbmcpZXhwb25lbnQgJSAyID09IDEpewogICAgICAgIHJldHVybiAoKChsb25nIGxvbmcgKShiYXNlKSAlIChsb25nIGxvbmcgKW1vZCkgKihsb25nIGxvbmcgKSBMYXN0S0RpZ2l0c01vZHVsYXJFeHBvbmV0aWF0aW9uKGJhc2UsIGV4cG9uZW50LTEsIG1vZCkpICUgKGxvbmcgbG9uZyApbW9kOwogICAgfQogICAgZWxzZXsKICAgICAgICBsb25nIGRvdWJsZSBuZXdCYXNlID0gTGFzdEtEaWdpdHNNb2R1bGFyRXhwb25ldGlhdGlvbihiYXNlLCBleHBvbmVudCAvIDIsIG1vZCk7CiAgICAgICAgcmV0dXJuIChsb25nIGxvbmcgKShuZXdCYXNlICogbmV3QmFzZSkgJShsb25nIGxvbmcpIG1vZDsKICAgIH0KfSAg