#include <bits/stdc++.h>

using namespace std;
long long int a[10000];
long long int b[10000];

void funkcija(int k)
{
    long long int s=sqrt(a[k]),i;
    if(b[k]%2) {printf("-1\n"); return;}
    for(i=1;i<=s;i+=2)
    {
        if(a[k]%i!=0) continue;
        long long int p=a[k]/i;
        if((p^i)==b[k]) {printf("%lld %lld\n",p,i); return;}
    }
    printf("-1\n");
}
int main()
{
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        scanf("%lld%lld",&a[i],&b[i]);
    }
    for(int i=0;i<n;i++)
        funkcija(i);
}