题目描述
Problem Statement
You are given non-negative integers a, b, and C.
Determine if there is a pair of non-negative integers (X, Y) that satisfies all of the following five conditions. If such a pair exists, print one.
- $0 \leq X < 2^{60}$
- $0 \leq Y < 2^{60}$
- $\operatorname{popcount}(X) = a$
- $\operatorname{popcount}(Y) = b$
- $X \oplus Y = C$
Here, $\oplus$ denotes the bitwise XOR.
If multiple pairs (X, Y) satisfy the conditions, you may print any of them.
What is popcount?
For a non-negative integer x, the popcount of x is the number of 1s in the binary representation of x.
More precisely, for a non-negative integer x such that $\displaystyle x=\sum _ {i=0} ^ \infty b _ i2 ^ i$\ $(b _ i\in\lbrace0,1\rbrace)$, we have $\displaystyle\operatorname{popcount}(x)=\sum _ {i=0} ^ \infty b _ i$.
For example, 13 in binary is 1101, so $\operatorname{popcount}(13)=3$.
What is bitwise XOR?
For non-negative integers x, y, the bitwise exclusive OR $x \oplus y$ is defined as follows.
- The 2^k's place \ $(k\geq0)$ in the binary representation of $x \oplus y$ is 1 if exactly one of the 2^k's places \ $(k\geq0)$ in the binary representations of x and y is 1, and 0 otherwise.
For example, 9 and 3 in binary are 1001 and 0011, respectively, so $9 \oplus 3 = 10 ($in binary, 1010).
Input
The input is given from Standard Input in the following format:
a b C
Output
If there is a pair of non-negative integers that satisfies the conditions, choose one such pair (X, Y) and print X and Y in this order, with a space in between.
If no such pair exists, print -1.
Constraints
- $0 \leq a \leq 60$
- $0 \leq b \leq 60$
- $0 \leq C < 2^{60}$
- All input values are integers.
Sample Input 1
3 4 7
Sample Output 1
28 27
The pair (X, Y) = (28, 27) satisfies the conditions.
Here, X and Y in binary are 11100 and 11011, respectively.
- X in binary is 11100, so $\operatorname{popcount}(X) = 3$.
- Y in binary is 11011, so $\operatorname{popcount}(Y) = 4$.
- $X \oplus Y$ in binary is 00111, so $X \oplus Y = 7$.
If multiple pairs of non-negative integers satisfy the conditions, you may print any of them, so printing 42 45, for example, would also be accepted.
Sample Input 2
34 56 998244353
Sample Output 2
-1
No pair of non-negative integers satisfies the conditions.
Sample Input 3
39 47 530423800524412070
Sample Output 3
540431255696862041 10008854347644927
Note that the values to be printed may not fit in 32-bit integers.
输入格式
见题面 Input 部分
输出格式
见题面 Output 部分