AT_abc443_g [ABC443G] Another Mod of Linear Problem

Description

整数 $ N,M,A,B $ が与えられます。 整数列 $ X=(X_0,X_1,\ldots,X_{N-1}) $ を $ \displaystyle X_k = (Ak+B) \bmod M $ として定義します。 $ X_k > k $ を満たす $ 0 $ 以上 $ N $ 未満の整数 $ k $ の個数を求めてください。 $ T $ 個のテストケースが与えられるので、それぞれについて答えを求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ T $ $ \text{case}_1 $ $ \text{case}_2 $ $ \vdots $ $ \text{case}_T $ 各テストケースは以下の形式で与えられる。 > $ N $ $ M $ $ A $ $ B $

Output Format

各テストケースに対する答えを順に改行区切りで出力せよ。

Explanation/Hint

### Sample Explanation 1 $ 1 $ つ目のテストケースについて考えます。 - $ k=0 $ のとき: $ X_0=(4\times 0+3)\bmod 6=3 $ なので、 $ X_k>k $ が成立します。 - $ k=1 $ のとき: $ X_1=(4\times 1+3)\bmod 6=1 $ なので、 $ X_k>k $ は成立しません。 - $ k=2 $ のとき: $ X_2=(4\times 2+3)\bmod 6=5 $ なので、 $ X_k>k $ が成立します。 - $ k=3 $ のとき: $ X_3=(4\times 3+3)\bmod 6=3 $ なので、 $ X_k>k $ は成立しません。 以上より、 $ X_k>k $ が成立する $ 0 $ 以上 $ 4 $ 未満の整数 $ k $ は $ k=0,2 $ の $ 2 $ 個です。したがって、 $ 1 $ 行目には $ 2 $ を出力してください。 ### Constraints - $ 1\le T\le 3\times 10^5 $ - $ 1\le N \le M\le 10^9 $ - $ 0\le A,B < M $ - 入力される値は全て整数