#include <bits/stdc++.h>

using namespace std;

long long int delioci(long long int a, long long int koren, long long int delioc)
{
	for ( ; delioc <= koren ; delioc += 2 )
		if(a%delioc==0)
			return a/delioc;
        
	return 1;
}

int main(int argc, char** argv)
{
	long long int n;
	cin >> n;

	long long int a[n][2];
	
	for(long long int i=0;i<n;i++)
		cin >> a[i][0] >> a[i][1];
	
	long long int koren;
	long long int hor=0;

	long long int x,y;
	
	for(long long int i=0;i<n;i++)
	{	
		koren = sqrt(a[i][0]);
	
		for(long long int j=1;j<=koren;j++)
		{
			if (j%2 == 0)
				j++;

			x=delioci(a[i][0],koren,j);	
			y=a[i][0]/x;
			j=y;
			hor = x ^ y;
		
			if(a[i][1]==hor)
			{
				cout << x << ' ' << y << "\n";
				break;
			}
			
			if(y==koren || x==1)
			{
				cout << "-1" << "\n";
				break;
			}
		}
		
	}
	
	
	
	
	return 0;
}