Bitwise exclusive OR (or bitwise addition modulo two) is a binary operation, which is equivalent to applying logical exclusive OR to each pair of bits at the same positions in the binary representation of the operands. In other words, a binary digit of the result is equal to if and only if the corresponding bits of the operands are different; if the bits are the same, the result is in that position.
For example, if X = 101 = 01100101_2,
Y = 41 = 00101001_2,
then X \text{ xor } Y = 76 = 01001100_2.
In the Pascal programming language, bitwise exclusive OR is written as "xor", and in C/C++ as the symbol "^".
Given two non-negative integers and , find two non-negative integers and such that:
A = X + Y
B = X \text{ xor } Y, where xor is the bitwise exclusive OR operator.
is the smallest among all numbers for which the conditions and are satisfied.
The first line contains the integer , and the second line contains the integer (0 \leq A, B \leq 2^{64} - 1).
Print in one line two non-negative integers and , or print only -1 if no such pair exists.
Example 1
Example 10