「Cfz Round 3」Change
题目描述
给定一个质数 $p$ 和三个整数 $a,b,c$,你需要对一个初始为 $0$ 的整数 $x$ 进行操作,每次操作可以进行如下的两种之一:
- 第一种操作:令 $x$ 的值变为 $(x \times a) \bmod p$。
- 第二种操作:令 $x$ 的值变为 $(x+b) \bmod p$。
其中,$\bmod$ 表示**取模**运算。
你需要求出能否在**正整数次**操作后得到 $c$,若能则输出 `Yes`,否则输出 `No`。
本题中字符串大小写不敏感,即 `yes`、`yeS`、`yEs`、`Yes`、`YEs`、`YeS`、`yES`、`Yes` 都被认为是 `Yes`,`No` 同理。
输入输出格式
输入格式
**本题有多组测试数据。**
第一行输入一个整数 $T$,表示测试数据组数。
接下来依次输入每组测试数据。对于每组测试数据,输入一行四个整数 $p,a,b,c$。
输出格式
对于每组测试数据,输出一行:
- 若能在正整数次操作后得到 $c$,则输出 `Yes`;
- 若不能在正整数次操作后得到 $c$,则输出 `No`。
本题中字符串大小写不敏感,即 `yes`、`yeS`、`yEs`、`Yes`、`YEs`、`YeS`、`yES`、`Yes` 都被认为是 `Yes`,`No` 同理。
输入输出样例
输入样例 #1
3
5 2 1 4
3 2 2 1
7 2 0 3
输出样例 #1
Yes
Yes
No
说明
#### 「样例解释 #1」
对于第 $1$ 组数据,进行 $1$ 次第二种操作后进行 $2$ 次第一种操作即可。
对于第 $2$ 组数据,进行 $1$ 次第二种操作后进行 $1$ 次第一种操作即可。
对于第 $3$ 组数据,可以证明无论如何操作都无法得到 $3$。
#### 「数据范围」
对于所有数据,$1\le T \le 100$,$0\le a,b,c < p \le 10^9$,保证 $p$ 是质数。
**只有你通过本题的所有测试点,你才能获得本题的分数。**