AT_arc127_f [ARC127F] ±AB
Description
[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 $ 個のテストケースを解いてください.
Input Format
入力は以下の形式で標準入力から与えられる.
> $ T $ $ case_1 $ $ case_2 $ $ \vdots $ $ case_3 $
各ケースは以下の形式で与えられる.
> $ A $ $ B $ $ V $ $ M $
Output Format
各ケースについて答えを出力せよ.
Explanation/Hint
### 制約
- $ 1\ \leq\ T\ \leq\ 10^5 $
- $ 1\ \leq\ A\