- Time limit: 2.00 s
- Memory limit: 256 MB
A fixed point for a function f is a value x such that f(x)=x.
In this task we focus on the following function:
f(x) = ((a \cdot x) \oplus b) \bmod 2^{64}The operator \oplus is the xor operator (written ^
in C++/Java).
Given a and b, can you find a fixed point for the function?
Input
The first input line contains an integer t: the number of test cases.
After this, there are t lines that describe the test cases. Each line contains two integers a and b.
All test cases have been generated so that a and b have been chosen uniformly randomly from the range 0 \ldots 2^{64}-1.
Output
For each case, output a number 0\leq x\leq 2^{64}-1 that is a fixed point for the function, or "-" if no such number exists.
If there are several possible solutions, you can output any of them.
Constraints
- 1 \le t \le 10^5
- 0\leq a, b\leq 2^{64}-1
Example
Input:
3 2 5 1 1 0 7
Output:
3 - 7
For example, in the first test case, f(3)=((2\cdot3) \oplus 5) \bmod 2^{64}=3.