#include <bits/stdc++.h>

using namespace std;

int main()
{
    int t,i,bc[63],br,p,bzb;
    bool iz;
    scanf("%d",&t);
    long long int a,b,x[t],y[t],j,k;
    for(i=0;i<t;i++)
    {
        scanf("%lld %lld",&a,&b);
        if(b%2==1)
        {
            x[t]=-1;
            break;
        }
        /*p=b;
        for(j=0;b>0;j++)
        {
            bc[j]=p%2;
            p/=2;
        }
        br=j;
        for(j=0;j<br;j++)
        {
            if(bc[br]==1)
            {

            }
        }*/
        iz=false;
        for(j=1;j<max(a,b);j+=2)
        {
            for(k=i;k<max(a,b);k+=2)
            {
                if(j*k==a&&j^k==b)
                {
                    x[t]=j;
                    y[t]=k;
                    iz=true;
                }
            }
            if(iz)
            {
                break;
            }
        }
        if(!iz)
        {
            x[t]=-1;
        }
    }
    for(i=0;i<t;i++)
    {
        if(x[t]==-1)
        {
            printf("%lld\n",x[t]);
        }
        else
        {
            printf("%lld %lld\n",x[t],y[t]);
        }
    }
    return 0;
}