测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A8122. Plus and xor

编程题 普及/提高-

题目描述

Bitwise exclusive OR (or bitwise addition modulo two) is a binary operation which is equivalent to applying logical exclusive OR to every pair of bits located on the same positions in binary notation of operands. In other words, a binary digit of the result is equal to 1 if and only if bits on the respective positions in the operands are different.

For example, if $X=109_{10}=1101101_{2}$ , $Y=41_{10}=101001_{2}$ , then:

$X$ xor $Y = 68_{10} = 1000100_{2}$ . Write a program, which takes two non-negative integers $A$ and $B$ as an input and finds two non-negative integers $X$ and $Y$ , which satisfy the following conditions:

- $A=X+Y$
- $B = X$ xor $Y$ , where xor is bitwise exclusive or.
- $X$ is the smallest number among all numbers for which the first two conditions are true.

输入格式

The first line contains integer number $A$ and the second line contains integer number $B$ ( $0<=A,B<=2^{64}-1$ ).

输出格式

The only output line should contain two integer non-negative numbers $X$ and $Y$ . Print the only number -1 if there is no answer.

输入输出样例

输入 #1
142
76
输出 #1
33 109
上一题 去做题 下一题