問題文
素数 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
の場合には、2 行目にそのような整数列 A の各要素を、空白で区切って 1 行で出力してください。
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