# N xor M = X -> N = X or M # Mは高々60(2**60>10**18)なので0~60で全探索 # N = X xor MのビットカウントがMとなるものがあるか判定する X = int(input()) for M in range(61): n = X ^ M if n.bit_count() == M: print(n) exit() print(-1)