#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;
}