#include <bits/stdc++.h>
using namespace std;

pair<long long int,long long int> Dekodiraj( long long int a, long long int ksor )
{
	pair <long long int,long long int> rezultat;
	rezultat.first = -1; rezultat.second = -1;
	for ( long long int i = 1; i*i <= a; i+=2 )
	{
		if ( i*(ksor^i) == a )
		{
			rezultat.first = i; rezultat.second = ksor^i;
			return rezultat;
		}
	}
	return rezultat;
}

int main()
{
	long long T;
	long long int a,b,x,y;
	long long int m;
	pair <long long int,long long int> rezultat;

	cin >> T;
	pair <long long int,long long int> B[10000]; int n = T; int k = 0;
	while ( T-- )
	{
		cin >> a >> b;
		rezultat = Dekodiraj( a, b );
		B[k].first = rezultat.first; B[k].second = rezultat.second;
		k++;
	}

	for ( int i = 0; i < n; i++ )
	{
		if ( B[i].first == -1 )
		{
			cout << -1;
		}
		else
		{
			cout << B[i].first << " " << B[i].second;
		}
		cout << endl;
	}

	return 0;
}