题目描述
给定一个质数 P 和正整数 a 和 b。判断是否存在一个由 P 个整数组成的序列 A=(A1,A2,ldots,AP) 满足以下所有条件,并且如果存在,则输出一个满足条件的序列。
- 1leqAileqP−1。
- A1=AP=1。
- (A1,A2,ldots,AP−1) 是 (1,2,ldots,P−1) 的一个排列。
- 对于每个 2leqileqP,至少满足以下条件之一。
- AiequivaAi−1pmodP
- Ai−1equivaAipmodP
- AiequivbAi−1pmodP
- Ai−1equivbAipmodP
我们可以证明,在本题的约束条件下,总是存在这样的整数序列。
约束条件
- 2leqPleq105
- P 是质数。
- 1leqa,bleqP−1
输入
输入以以下格式从标准输入给出:
P a b
输出
如果存在满足条件的整数序列 A,则输出 Yes
;否则输出 No
。在 Yes
的情况下,用空格分隔在下一行中满足要求的序列 A 中的元素。
A1 A2 ldots AP
如果有多个满足要求的序列,则任意一个都可以接受。
示例输入1
13 4 5
示例输出1
Yes
1 5 11 3 12 9 7 4 6 8 2 10 1
该序列满足所有条件,因为我们有以下模运算 P=13:
- A2equiv5A1
- A2equiv4A3
- vdots
- A13equiv4A12
示例输入2
13 1 2
示例输出2
Yes
1 2 4 8 3 6 12 11 9 5 10 7 1
示例输入3
13 9 3
示例输出3
No
示例输入4
13 1 1
示例输出4
No