Задача №111763. Плюс и XOR

Побитовое исключающее ИЛИ (или побитовое сложение по модулю два) — это бинарная операция, действие которой эквивалентно применению логического исключающего ИЛИ к каждой паре битов, которые стоят на одинаковых позициях в двоичной записи операндов. Иными словами, если соответствующие биты операндов различны, то соответствующий двоичный разряд результата равен 1 ; если же биты совпадают, то двоичный разряд результата равен 0 . Например, если X = 101 = 01100101 2 , Y = 41 = 00101001 2 , то XxorY = 76 = 01001100 2 . В языке программирования Pascal побитовое исключающее или обозначается “xor”, а в C / C +  + — символом . Напишите программу, которая по двум целым неотрицательным числам A и B найдет такие неотрицательные целые числа X и Y , для которых выполняются условия:

  1. A = X + Y
  2. B = XxorY , где xor — побитовое исключающее или.
  3. X – наименьшее среди чисел, для которых выполняются условия 1 и 2.

Входные данные

Первые две строки входного файла содержат соответственно целые числа A и B ( 0 ≤ A , B ≤ 2 64 - 1 ).

Выходные данные

Единственная строка выходного файла должна содержать два целых неотрицательных числа X и Y , либо одно число - 1 , если таких пар не существует.

Примеры
Входные данные
142
76
Выходные данные
33 109
Сдать: для сдачи задач необходимо войти в систему