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\