#include<bits/stdc++.h>
using namespace std;
int dp[105][8105];
int Find(int a, int b){
if(a > 100 || b > 8100 || a > b || a < 0 || b < 0){
return -1;
}
if(!a && !b){
return 0;
}
if(dp[a][b] != -1){
return dp[a][b];
}
int res = 105, i = 9;
while(i > 0){
int tmp = Find(a - i, b - i * i);
if(tmp != -1){
res = min(res, tmp + 1);
}
i--;
}
dp[a][b] = res;
return res;
}
int main(){
int t, a, b;
cin >> t;
while(t--){
memset(dp, -1, sizeof(dp));
dp[0][0] = 0;
cin >> a >> b;
int MIN = Find(a, b);
if(MIN == -1 || MIN > 100){
cout << -1;
}
else {
int i;
while(a > 0 && b > 0){
i = 1;
while(i < 10){
if(a >= i && b >= i * i && dp[a - i][b - i * i] + 1 == dp[a][b]){
cout << i;
a -= i;
b -= i * i;
break;
}
i++;
}
}
}
cout << endl;
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgZHBbMTA1XVs4MTA1XTsKCmludCBGaW5kKGludCBhLCBpbnQgYil7CiAgICBpZihhID4gMTAwIHx8IGIgPiA4MTAwIHx8IGEgPiBiIHx8IGEgPCAwIHx8IGIgPCAwKXsKICAgIAlyZXR1cm4gLTE7Cgl9CiAgICBpZighYSAmJiAhYil7CiAgICAJcmV0dXJuIDA7Cgl9CiAgICBpZihkcFthXVtiXSAhPSAtMSl7CiAgICAJcmV0dXJuIGRwW2FdW2JdOwoJfQogICAgaW50IHJlcyA9IDEwNSwgaSA9IDk7CiAgICB3aGlsZShpID4gMCl7CiAgICAgICAgaW50IHRtcCA9IEZpbmQoYSAtIGksIGIgLSBpICogaSk7CiAgICAgICAgaWYodG1wICE9IC0xKXsKICAgICAgICAJcmVzID0gbWluKHJlcywgdG1wICsgMSk7CgkJfQogICAgICAgIGktLTsKICAgIH0KICAgIGRwW2FdW2JdID0gcmVzOwogICAgcmV0dXJuIHJlczsKfQoKaW50IG1haW4oKXsKICAgIGludCB0LCBhLCBiOwogICAgY2luID4+IHQ7CiAgICB3aGlsZSh0LS0pewogICAgICAgIG1lbXNldChkcCwgLTEsIHNpemVvZihkcCkpOwogICAgICAgIGRwWzBdWzBdID0gMDsKICAgICAgICBjaW4gPj4gYSA+PiBiOwogICAgICAgIGludCBNSU4gPSBGaW5kKGEsIGIpOwogICAgICAgIAogICAgICAgIGlmKE1JTiA9PSAtMSB8fCBNSU4gPiAxMDApewogICAgICAgIAkgY291dCA8PCAtMTsKCQl9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIGludCBpOwogICAgICAgICAgICB3aGlsZShhID4gMCAmJiBiID4gMCl7CiAgICAgICAgICAgICAgICBpID0gMTsKICAgICAgICAgICAgICAgIHdoaWxlKGkgPCAxMCl7CiAgICAgICAgICAgICAgICAgICAgaWYoYSA+PSBpICYmIGIgPj0gaSAqIGkgJiYgZHBbYSAtIGldW2IgLSBpICogaV0gKyAxID09IGRwW2FdW2JdKXsKICAgICAgICAgICAgICAgICAgICAgICAgY291dCA8PCBpOwogICAgICAgICAgICAgICAgICAgICAgICBhIC09IGk7CiAgICAgICAgICAgICAgICAgICAgICAgIGIgLT0gaSAqIGk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpKys7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY291dCA8PCBlbmRsOwogICAgfQogICAgcmV0dXJuIDA7Cn0=