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