AT_arc118_d [ARC118D] Hamiltonian Cycle

Description

[problemUrl]: https://atcoder.jp/contests/arc118/tasks/arc118_d 素数 $ P $ および正の整数 $ a,\ b $ が与えられます。 $ P $ 項からなる整数列 $ A\ =\ (A_1,\ A_2,\ \ldots,\ A_P) $ であって、次の条件をすべて満たすものが存在するかを判定してください。 存在する場合には、そのようなものをひとつ出力してください。 - $ 1\leq\ A_i\leq\ P\ -\ 1 $ - $ A_1\ =\ A_P\ =\ 1 $ - $ (A_1,\ A_2,\ \ldots,\ A_{P-1}) $ は、$ (1,\ 2,\ \ldots,\ P-1) $ を並べ替えたものである - 任意の $ 2\leq\ i\leq\ P $ に対して、次のうち少なくともひとつが成り立つ: - $ A_{i}\ \equiv\ aA_{i-1}\pmod{P} $ - $ A_{i-1}\ \equiv\ aA_{i}\pmod{P} $ - $ A_{i}\ \equiv\ bA_{i-1}\pmod{P} $ - $ A_{i-1}\ \equiv\ bA_{i}\pmod{P} $

Input Format

入力は以下の形式で標準入力から与えられます。 > $ P $ $ a $ $ b $

Output Format

問題の条件を満たす整数列 $ A $ が存在するならば `Yes` を、そうでなければ `No` を出力してください。 `Yes` の場合には、$ 2 $ 行目にそのような整数列 $ A $ の各要素を、空白で区切って 1 行で出力してください。 > $ A_1 $ $ A_2 $ $ \ldots $ $ A_P $ 条件を満たす整数列が複数存在する場合は、どれを出力しても正解となります。

Explanation/Hint

### 制約 - $ 2\leq\ P\leq\ 10^5 $ - $ P $ は素数 - $ 1\leq\ a,\ b\ \leq\ P\ -\ 1 $ ### Sample Explanation 1 $ P\ =\ 13 $ を法として、 - $ A_2\equiv\ 5A_1 $ - $ A_2\equiv\ 4A_3 $ - $ \vdots $ - $ A_{13}\equiv\ 4A_{12} $ が成り立ち、この整数列は条件を満たすことが確認できます。