VK Cup 2017 - Round 3
A
Success Rate
Codeforces
1700
原题
←B →
翻译中…

You are an experienced Codeforces user. Today you found out that during your activity on Codeforces you have made $*y*$ submissions, out of which $*x*$ have been successful. Thus, your current success rate on Codeforces is equal to $*x* / *y*$.

翻译中…

Your favorite rational number in the $[0;1]$ range is $*p* / *q*$. Now you wonder: what is the smallest number of submissions you have to make if you want your success rate to be $*p* / *q*$?

翻译中…

Input

翻译中…

The first line contains a single integer $*t*$ ($1 ≤ *t* ≤ 1000$) — the number of test cases.

翻译中…

Each of the next $*t*$ lines contains four integers $*x*$, $*y*$, $*p*$ and $*q*$ ($0 ≤ *x* ≤ *y* ≤ 10^{9}$; $0 ≤ *p* ≤ *q* ≤ 10^{9}$; $*y* > 0$; $*q* > 0$).

翻译中…

It is guaranteed that $*p* / *q*$ is an irreducible fraction.

翻译中…

Hacks. For hacks, an additional constraint of $*t* ≤ 5$ must be met.

翻译中…

Output

翻译中…

For each test case, output a single integer equal to the smallest number of submissions you have to make if you want your success rate to be equal to your favorite rational number, or -1 if this is impossible to achieve.

翻译中…

Note

翻译中…

In the first example, you have to make 4 successful submissions. Your success rate will be equal to $7 / 14$, or $1 / 2$.

翻译中…

In the second example, you have to make 2 successful and 8 unsuccessful submissions. Your success rate will be equal to $9 / 24$, or $3 / 8$.

翻译中…

In the third example, there is no need to make any new submissions. Your success rate is already equal to $20 / 70$, or $2 / 7$.

翻译中…

In the fourth example, the only unsuccessful submission breaks your hopes of having the success rate equal to 1.

翻译中…

样例

Input #1
4
3 10 1 2
7 14 3 8
20 70 2 7
5 6 1 1
Output #1
4
10
0
-1
InputCopy OutputCopy
题目信息
题号
773A
时间限制
2 s
内存限制
256 MB
标签
二分
数学

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