#include <bits/stdc++.h>

/*
#pragma GCC target ("avx2")
#pragma GCC optimization ("O3")
#pragma GCC optimization ("unroll-loops")
*/
#define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define rep(i,l,r) for (int i=l;i<=r;i++)
#define fi first
#define se second
#define pb push_back
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define ll long long
#define ull unsigned long long
#define mod 1000000007
#define nul(x) memset((x),0,sizeof((x)))
#define random_jbt mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

using namespace std;

int main(){
    ios;

    int t;
    cin>>t;
    while(t--){
        ll a,b;
        bool q=false;
        cin>>a>>b;

        for (ll i=1;i<=sqrt(a);i+=2){
            if (a%i==0){
                ll j = a/i;

                if ((i^j) == b){
                    q=true;
                    cout<<i<<" "<<j<<"\n";
                    break;
                }
            }
        }
        if (!q)
            cout<<"-1\n";;
    }
    return 0;
}