Задачі
Плюс та XOR
Плюс та XOR
Побітове виключне \textbf{АБО} (або побітове додавання за модулем два) -- це бінарна операція, дія якої еквівалентна застосуванню логічного виключного \textbf{АБО} до кожної пари бітів, які стоять на однакових позиціях у двійковому записі операндів. Іншими словами, якщо відповідні біти операндів різні, то відповідний двійковий розряд результату дорівнює 1; якщо ж біти збігаються, то двійковий розряд результату дорівнює \textbf{0}.
Наприклад, якщо \textbf{X = 101 = 01100101_2},
\textbf{Y = 41 = 00101001_2},
то \textbf{X xor Y = 76 = 01001100_2}.
В мові програмування Pascal побітове виключне або позначається "\textbf{xor}", а в С/С++ -- символом "\textbf{^}".
Напишіть програму, яка за двома цілими невід’ємними числами \textbf{A} та \textbf{B} знайде такі невід'ємні цілі числа \textbf{X} і \textbf{Y}, для яких виконуються умови:
\begin{enumerate}
\item \textbf{A = X + Y}
\item \textbf{B = X xor Y}, де \textbf{xor} -- побітове виключне або.
\item \textbf{X} -- найменше серед чисел, для яких виконуються умови \textbf{1} і \textbf{2}.
\end{enumerate}
\InputFile
Перші два рядки містять відповідно цілі числа \textbf{A }та \textbf{B }(\textbf{0 }≤ \textbf{A}, \textbf{B }≤ \textbf{2^64 - 1}).
\OutputFile
Вивести в одному рядку два цілих невід'ємних числа \textbf{X }та \textbf{Y}, або єдине число \textbf{-1}, якщо таких пар не існує.
Вхідні дані #1
142 76
Вихідні дані #1
33 109
Вхідні дані #10
1367480970723947 584615739735395
Вихідні дані #10
391432615494276 976048355229671