← Home
write a go solution for Description:
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<=xlt2^60;
- a|x is divisible by d;
- b|x is divisible by d.

Here, | denotes the bitwise OR operation.

Input Format:
Each test contains multiple test cases. The first line of input contains one integer t (1<=t<=10^4) — the number of test cases.

Each test case consists of one line, containing three integers a, b, and d (1<=a,b,dlt2^30).

Output Format:
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.. Output only the code with no comments, explanation, or additional text.