#include <stdio.h>
#include <math.h>

int Delioci(long int A, long int B, long int *x, long int *y)
    {
        long int k=0, l=0;
        int j=0, i;
        for (i=1; i<=A; i++)
            {
                if ((A%i)==0)
                    {
                        k=i;
                        l=A/k;
                        if ((k^l)==B) {j=1; break;}
                    }
            }
        *x=k;
        *y=l;
        if (j==0) return -1; else return 0;
    }

int main()
    {
        long int mat[10000][2];
        int T, i;
        long int A, B, X, Y;
        scanf("%d", &T);
        for (i=0; i<T; i++)
            {
                scanf("%li %li", &mat[i][0], &mat[i][1]);
            }
        for (i=0; i<T; i++)
            {
                A=mat[i][0];
                B=mat[i][1];
                Delioci(A, B, &X, &Y);
                if (Delioci(A, B, &X, &Y)==-1) printf("-1");
                    else {
                            printf("%li", X);
                            printf("%li", Y);
                        }
            }
        return 0;
    }