#include <stdio.h>

#define F(T, suf) T f_##suf(T x)  \
{                                 \
  if (!x || x & 1)                \
    return x;                     \
                                  \
  T m = ~(T)0;                    \
  for (; m > x; m >>= 1);         \
  return x ^ (m<<1) ^ m;          \
}

F(unsigned, u)
F(unsigned long long, ull)

int main()
{
  unsigned x;

  while (scanf("%u", &x) == 1)
    printf("%u %u\n", x, f_u(x));

  unsigned long long y = -2LLU;
  printf("%llu %llu\n", y, f_ull(y));
  
  return 0;
}
