#include <bits/stdc++.h>

using namespace std;

int binud(int n){
    int st=1,s=0;;
    while(n!=0){
        s+=n%2*st;
        n/=2;
        st*=10;
    }
    return s;
}

int decub(int n){
    int st=1,s=0;
    while(n!=0){
        s+=n%10*st;
        st*=2;
        n/=10;
    }
    return s;
}

int fun(int x, int y){
    int maks,nb=0,st=10,ste=1;
    if(x>y)
        maks=x;
    else
        maks=y;
    while(maks!=0){
        if(x%st/ste!=y%st/ste)
            nb+=1*ste;
        maks/=10;
        st*=10;
        ste*=10;
    }
        return nb;
}


int main()
{
   int t;
   scanf("%d",&t);
   int a[t][2];
   for(int i=0;i<t;i++)
    scanf("%d%d",&a[i][0],&a[i][1]);

    int f=1;
   for(int i=0;i<t && f!=0;i++){
        for(int x1=1;x1<a[i][0] && f!=0;x1++){
            for(int x2=1;x2<a[i][0] && f!=0;x2++){
                if(x1*x2==a[i][0]){
                    if(decub(fun(binud(x1),binud(x2)))==a[i][1]){
                        printf("%d %d\n",x1,x2);
                        f=0;
                    }

                }
            }
        }
        if(f)
            printf("-1");
        f=1;
   }

    return 0;
}