#include<iostream>
#include<cmath>
using namespace std;
void upiti(int t)
{
    unsigned long long int m,s,sk,x,a,b,niz1[10000],niz2[10000];
    for(int i=0;i<t;i++)
    {
        cin>>m>>x;
        sk=x*x+2*m;
        s=sqrt(sk+2*m);
        if (s==sqrt(sk+2*m)){
        a=(s-x)/2;
        b=m/a;
        niz1[i]=a;
        niz2[i]=b;
        }
        else
            niz1[i]=0;
    }
    for(int i=0;i<t;i++)
    {
        if (niz1[i]==0)
            cout<<"-1"<<endl;
        else
            cout<<niz1[i]<<' '<<niz2[i]<<endl;
    }
}
int main()
{
    int t;
    cin>>t;
    upiti(t);
}