Plus and xor#2006

Plus and xor

1 second
64 megabytes
Easy

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:

  1. A = X + Y

  2. B = X \text{ xor } Y, where xor is the bitwise exclusive OR operator.

  3. is the smallest among all numbers for which the conditions and are satisfied.

Input

The first line contains the integer , and the second line contains the integer (0 \leq A, B \leq 2^{64} - 1).

Output

Print in one line two non-negative integers and , or print only -1 if no such pair exists.

Examples

Example 1

Loading
Loading

Example 10

Loading
Loading