#include <bits/stdc++.h>
using namespace std;
struct par{
    long long a;
    long long b;
};
int xorr(int a, int b)
{
    int rez;
    rez=(a|b)&(~a|~b);
    return rez;
}
int main()
{
    int n, p=1;
    cin>>n;
    par a[n];
    for(int i=0; i<n; i++)
        cin>>a[i].a>>a[i].b;
    for(int j=0; j<n; j++){
        for(int i=1; i<10000000000; i+=2){
            if(xorr(a[j].a, a[j].a/i)==a[j].b){
                cout<<a[j].a/i<<" "<<i<<"\n";
                break;
                p=0;
            }
        }
        if(p==0)
            break;
    }
    return 0;
}