#include <iostream>
#include<cmath>
using namespace std;
int xorxy(int x, int y) 
{ 
    int s=0;
    for(int i=31;i>=0;i--)                      
    { 
        bool b1=x&(1<<i); 
        bool b2=y&(1<<i); 
        bool c=(b1&b2)?0:(b1|b2);           
        s<<=1; 
        s|=c; 
    } 
    return s; 
}
int main(){
int t,a,b,x,y,k;
cin>>t;
int ai[t];
int bi[t];
for(int i=0;i<t;i++)
cin>>ai[i]>>bi[i];
for(int j=0;j<t;j++){
    k=0;
for(int i=1;i<=sqrt(ai[j]);i+=2){
    if(ai[j]%i==0&&xorxy(i,ai[j]/i)==bi[j]){
    cout<<i<<' '<<ai[j]/i<<endl;
    k++;
    break;
    }
    
}
if(k==0)
cout<<-1<<endl;

}
}