题库练习 Success Rate
← 上一题 下一题 →

A10803 | Success Rate

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

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$ ?

输入格式

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.

输出格式

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.

输入输出样例

输入 #1
4
3 10 1 2
7 14 3 8
20 70 2 7
5 6 1 1
输出 #1
4
10
0
-1
C++ 编辑器
输入
输出