Codeforces Round 833 (Div. 2)
D
ConstructOR
Codeforces
2100
原题
← CE →
翻译中…

You are given three integers $a$, $b$, and $d$. Your task is to find any integer $x$ which satisfies all of the following conditions, or determine that no such integers exist:

翻译中…
  • $0 \le x \lt 2^{60}$;
  • $a|x$ is divisible by $d$;
  • $b|x$ is divisible by $d$.
翻译中…

Here, $|$ denotes the bitwise OR operation.

翻译中…

Input

翻译中…

Each test contains multiple test cases. The first line of input contains one integer $t$ ($1 \le t \le 10^4$) — the number of test cases.

翻译中…

Each test case consists of one line, containing three integers $a$, $b$, and $d$ ($1 \le a,b,d \lt 2^{30}$).

翻译中…

Output

翻译中…

For each test case print one integer. If there exists an integer $x$ which satisfies all of the conditions from the statement, print $x$. Otherwise, print $-1$.

翻译中…

If there are multiple solutions, you may print any of them.

翻译中…

Note

翻译中…

In the first test case, $x=18$ is one of the possible solutions, since $39|18=55$ and $12|18=30$, both of which are multiples of $d=5$.

翻译中…

In the second test case, $x=14$ is one of the possible solutions, since $8|14=6|14=14$, which is a multiple of $d=14$.

翻译中…

In the third and fourth test cases, we can show that there are no solutions.

翻译中…

样例

Input #1
8
12 39 5
6 8 14
100 200 200
3 4 6
2 2 2
18 27 3
420 666 69
987654321 123456789 999999999
Output #1
18
14
-1
-1
0
11
25599
184470016815529983
InputCopy OutputCopy
题目信息
题号
1748D
时间限制
2 s
内存限制
256 MB
标签
位运算
中国剩余定理
组合数学
构造
数学
数论

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。