[ARC127F] ±AB
题意翻译
给定整数 $A,B,V,M$,其中 $A,B$ 保证互质。另外,还有一个整数 $x$,初始化为 $x=V$。
您可以按任意顺序执行以下四种操作,次数不限。
将 $x$ 的值修改为 $x+A$
将 $x$ 的值修改为 $x-A$
将 $x$ 的值修改为 $x+B$
将 $x$ 的值修改为 $x-B$
在操作过程中,$0\le x \le M$ 必须在任意时刻成立。
问在这种情况下,$x$ 可以取多少不同的值。
多组数据。
题目描述
[problemUrl]: https://atcoder.jp/contests/arc127/tasks/arc127_f
整数 $ A,B,V,M $ が与えられます. ここで,$ A $ と $ B $ は互いに素であることが保証されます. また,あなたは整数 $ x $ を持っています. 最初,$ x=V $ です.
あなたは,以下の $ 4 $ 種類の操作を好きな順序で好きな回数繰り返すことができます.
- $ x $ の値を,$ x+A $ で置き換える.
- $ x $ の値を,$ x-A $ で置き換える.
- $ x $ の値を,$ x+B $ で置き換える.
- $ x $ の値を,$ x-B $ で置き換える.
ただし,操作のどの瞬間においても,$ 0\ \leq\ x\ \leq\ M $ が成立している必要があります.
この条件の元で,$ x $ がとりうる値が何種類あるかを求めてください.
一つの入力ファイルにつき,$ T $ 個のテストケースを解いてください.
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる.
> $ T $ $ case_1 $ $ case_2 $ $ \vdots $ $ case_3 $
各ケースは以下の形式で与えられる.
> $ A $ $ B $ $ V $ $ M $
输出格式
各ケースについて答えを出力せよ.
输入输出样例
输入样例 #1
5
3 5 0 5
1 2 5 10
5 8 4 9
10 99 48 106
500000000 500000001 123456789 900000000
输出样例 #1
4
11
4
10
800000002
说明
### 制約
- $ 1\ \leq\ T\ \leq\ 10^5 $
- $ 1\ \leq\ A\ <\ B\ \leq\ M\ \leq\ 10^9 $
- $ A $ と $ B $ は互いに素である.
- $ 0\ \leq\ V\ \leq\ M $
- 入力される値はすべて整数である.
### Sample Explanation 1
$ 1 $ つ目のテストケースでは,$ x=0,2,3,5 $ の $ 4 $ 通りの値が考えられます.