#include <iostream>
#include <string>
#include <algorithm>
#include <cmath>
#define ll long long

using namespace std;

string toBinary(ll x)
{
    string s = "";

    for (int i = 0; x > 0; i++)
    {
        s += x % 2 + 48;
        x /= 2;
    }

    if (s == "")
        s = "0";

    reverse(s.begin(), s.end());

    return s;
}

ll toDecimal(string s)
{
    ll dec = 0, i = 0, cnt = s.size() - 1, remainder;

    while (cnt >= 0)
    {
        remainder = s[cnt] - 48;
        dec += remainder*pow(2, i);
        ++i;
        --cnt;
    }

    return dec;
}

int main()
{
    string x, prvi, drugi;
    ll t, a, b, sol1, sol2;
    cin >> t;

    while (t--)
    {
        prvi = "";
        drugi = "";

        cin >> a >> b;
        x = toBinary(b);

        for (ll i = 0; i < x.size(); i++)
        {
            if (x[i] == '1')
            {
                prvi += '0';
                drugi += '1';
            }

            else
            {
                prvi += '1';
                drugi += '1';
            }
        }

        sol1 = toDecimal(prvi);
        sol2 = toDecimal(drugi);

        if (sol1 * sol2 == a)
            cout << sol1 << " " << sol2 << "\n";
        else
            cout << "-1\n";
    }
}