#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
    int t,a,b;
    int c[20000];
    int d[20000];
    int e[20000];
    int f[20000];
    scanf("%d",&t);
    for (int i=0;i<t;i++)
    {
        scanf("%d %d",&a,&b);
        c[i]=a;
        d[i]=b;
               for (int j=2;j<c[i];j++)
        {
            if (c[i]%j==0)
            {
                e[i]=j;
                f[i]=c[i]/e[i];
                break;
            }
        }
    }


    for (int k=0;k<t;k++)
    {



        if (d[k]==((e[k]^f[k])))
        {
            printf("%d %d\n",e[k],f[k]);
        }
        else printf("-1");
    }

    return 0;
}