Плюс та XOR
Побітове виключне АБО (або побітове додавання за модулем два) – це бінарна операція, дія якої еквівалентна застосуванню логічного виключного АБО до кожної пари бітів, які стоять на однакових позиціях у двійковому записі операндів. Іншими словами, якщо відповідні біти операндів різні, то відповідний двійковий розряд результату дорівнює 1; якщо ж біти збігаються, то двійковий розряд результату дорівнює 0.
Наприклад, якщо X = 101 = 01100101_2,
Y = 41 = 00101001_2,
то X xor Y = 76 = 01001100_2.
В мові програмування Pascal побітове виключне або позначається "xor", а в С/С++ – символом "^".
Напишіть програму, яка за двома цілими невід’ємними числами A та B знайде такі невід'ємні цілі числа X і Y, для яких виконуються умови:
A = X + Y
B = X xor Y, де xor – побітове виключне або.
X – найменше серед чисел, для яких виконуються умови 1 і 2.
Вхідні дані
Перші два рядки містять відповідно цілі числа A та B (0 ≤ A, B ≤ 2^64 - 1).
Вихідні дані
Вивести в одному рядку два цілих невід'ємних числа X та Y, або єдине число -1, якщо таких пар не існує.