#ATarc127f. [ARC127F] ±AB

[ARC127F] ±AB

题目描述

给定整数 A,B,V,MA,B,V,M。其中,保证 AABB 互质。你有一个整数 xx,初始时 x=Vx=V

你可以以任意顺序、任意次数重复以下 44 种操作:

  • xx 替换为 x+Ax+A
  • xx 替换为 xAx-A
  • xx 替换为 x+Bx+B
  • xx 替换为 xBx-B

但无论何时,都必须满足 0xM0 \leq x \leq M

在上述条件下,求 xx 可能取到的不同值有多少种。

对于每个输入文件,需要解答 TT 个测试用例。

输入格式

输入通过标准输入给出,格式如下:

TT
case1case_1
case2case_2
\vdots
caseTcase_T

每个测试用例如下格式:

A B V MA\ 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

输出

4
11
4
10
800000002

说明/提示

约束条件

  • 1T1051 \leq T \leq 10^5
  • 1A<BM1091 \leq A < B \leq M \leq 10^9
  • AABB 互质。
  • 0VM0 \leq V \leq M
  • 输入的所有值均为整数。

样例解释 1

对于第 11 个测试用例,xx 可能为 0,2,3,50,2,3,5,共 44 种不同的值。

由 ChatGPT 4.1 翻译