codeforces#P1182F. Maximum Sine

    ID: 30262 远端评测题 3000ms 256MiB 尝试: 0 已通过: 0 难度: 10 上传者: 标签>binary searchdata structuresnumber theory*2700

Maximum Sine

Description

You have given integers $a$, $b$, $p$, and $q$. Let $f(x) = \text{abs}(\text{sin}(\frac{p}{q} \pi x))$.

Find minimum possible integer $x$ that maximizes $f(x)$ where $a \le x \le b$.

Each test contains multiple test cases.

The first line contains the number of test cases $t$ ($1 \le t \le 100$) — the number of test cases.

The first line of each test case contains four integers $a$, $b$, $p$, and $q$ ($0 \le a \le b \le 10^{9}$, $1 \le p$, $q \le 10^{9}$).

Print the minimum possible integer $x$ for each test cases, separated by newline.

Input

Each test contains multiple test cases.

The first line contains the number of test cases $t$ ($1 \le t \le 100$) — the number of test cases.

The first line of each test case contains four integers $a$, $b$, $p$, and $q$ ($0 \le a \le b \le 10^{9}$, $1 \le p$, $q \le 10^{9}$).

Output

Print the minimum possible integer $x$ for each test cases, separated by newline.

Samples

2
0 3 1 3
17 86 389 995
1
55

Note

In the first test case, $f(0) = 0$, $f(1) = f(2) \approx 0.866$, $f(3) = 0$.

In the second test case, $f(55) \approx 0.999969$, which is the largest among all possible values.