#include <iostream>
using namespace std;
template <typename T> T f(T x)
{
if (!x || x & 1)
return x;
T m = ~(T)0;
for (; m > x; m >>= 1);
return x ^ (m<<1) ^ m;
}
int main()
{
for (unsigned x; cin >> x; )
cout << x << ' ' << f(x) << endl;
unsigned long long y = -2ULL;
cout << y << ' ' << f(y) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnRlbXBsYXRlIDx0eXBlbmFtZSBUPiBUIGYoVCB4KQp7CiAgaWYgKCF4IHx8IHggJiAxKQogICAgcmV0dXJuIHg7CiAgICAKICBUIG0gPSB+KFQpMDsKICBmb3IgKDsgbSA+IHg7IG0gPj49IDEpOwogIHJldHVybiB4IF4gKG08PDEpIF4gbTsKfQoKaW50IG1haW4oKQp7CiAgZm9yICh1bnNpZ25lZCB4OyBjaW4gPj4geDsgKQogICAgY291dCA8PCB4IDw8ICcgJyA8PCBmKHgpIDw8IGVuZGw7CiAgCiAgdW5zaWduZWQgbG9uZyBsb25nIHkgPSAtMlVMTDsKICBjb3V0IDw8IHkgPDwgJyAnIDw8IGYoeSkgPDwgZW5kbDsKICAKICByZXR1cm4gMDsKfQ==