# https://yukicoder.me/problems/no/3547 from collections import deque def main(): N, M = map(int, input().split()) n_array = [] for _ in range(30): n_array.append(N % 2) N //= 2 m_array = [] for _ in range(30): m_array.append(M % 2) M //= 2 answer = 0 for i in range(30): if i % 2 == 0: type_tuple = (n_array[i], m_array[i]) if type_tuple == (0, 0): continue elif type_tuple == (0, 1): print(-1) return elif type_tuple == (1, 0): continue elif type_tuple == (1, 1): answer += 2 ** i else: type_tuple = (n_array[i], m_array[i]) if type_tuple == (0, 0): continue elif type_tuple == (0, 1): answer += 2 ** i elif type_tuple == (1, 0): print(-1) return elif type_tuple == (1, 1): continue print(answer) if __name__ == "__main__": main()