#arc118d. [arc118_d]Hamiltonian Cycle

[arc118_d]Hamiltonian Cycle

题目描述

给定一个质数 PP 和正整数 aabb。判断是否存在一个由 PP 个整数组成的序列 A=(A1,A2,ldots,AP)A = (A_1, A_2, \\ldots, A_P) 满足以下所有条件,并且如果存在,则输出一个满足条件的序列。

  • 1leqAileqP11\\leq A_i\\leq P - 1
  • A1=AP=1A_1 = A_P = 1
  • (A1,A2,ldots,AP1)(A_1, A_2, \\ldots, A_{P-1})(1,2,ldots,P1)(1, 2, \\ldots, P-1) 的一个排列。
  • 对于每个 2leqileqP2\\leq i\\leq P,至少满足以下条件之一。
    • AiequivaAi1pmodPA_{i} \\equiv aA_{i-1}\\pmod{P}
    • Ai1equivaAipmodPA_{i-1} \\equiv aA_{i}\\pmod{P}
    • AiequivbAi1pmodPA_{i} \\equiv bA_{i-1}\\pmod{P}
    • Ai1equivbAipmodPA_{i-1} \\equiv bA_{i}\\pmod{P}

我们可以证明,在本题的约束条件下,总是存在这样的整数序列。

约束条件

  • 2leqPleq1052\\leq P\\leq 10^5
  • PP 是质数。
  • 1leqa,bleqP11\\leq a, b \\leq P - 1

输入

输入以以下格式从标准输入给出:

PP aa bb

输出

如果存在满足条件的整数序列 AA,则输出 Yes;否则输出 No。在 Yes 的情况下,用空格分隔在下一行中满足要求的序列 AA 中的元素。

A1A_1 A2A_2 ldots\\ldots APA_P

如果有多个满足要求的序列,则任意一个都可以接受。


示例输入1

13 4 5

示例输出1

Yes
1 5 11 3 12 9 7 4 6 8 2 10 1

该序列满足所有条件,因为我们有以下模运算 P=13P = 13

  • A2equiv5A1A_2\\equiv 5A_1
  • A2equiv4A3A_2\\equiv 4A_3
  • vdots\\vdots
  • A13equiv4A12A_{13}\\equiv 4A_{12}

示例输入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