atcoder#ARC122E. [ARC122E] Increasing LCMs

[ARC122E] Increasing LCMs

配点 : 800800

問題文

長さ NN の正整数列 A1,A2,,ANA_1,A_2,\cdots,A_N があります. あなたは,これらの整数を並び替えることで,正整数列 x1,x2,,xNx_1,x_2,\cdots,x_N を作ろうとしています. この時,xx は以下の条件を満たす必要があります.

  • yi=LCM(x1,x2,,xi)y_i=\operatorname{LCM}(x_1,x_2,\cdots,x_i) と定義する.ここで,LCM\operatorname{LCM} は与えられた整数たちの最小公倍数を返す関数である.このとき,yy は狭義単調増加である.つまり,$y_1 が成り立つ.

条件を満たすような xx が存在するか判定し,存在するなら一つ例を示してください.

制約

  • 1N1001 \leq N \leq 100
  • 2A1<A2<AN10182 \leq A_1 < A_2 \cdots < A_N \leq 10^{18}
  • 入力される値はすべて整数である

入力

入力は以下の形式で標準入力から与えられる.

NN

A1A_1 A2A_2 \cdots ANA_N

出力

条件を満たすような xx が存在する場合,以下の形式で答えを出力せよ.

Yes

x1x_1 x2x_2 \cdots xNx_N

存在しない場合,No と出力せよ.

3
3 4 6
Yes
3 6 4

x=(3,6,4)x=(3,6,4) のとき,

  • y1=LCM(3)=3y_1=\operatorname{LCM}(3)=3
  • y2=LCM(3,6)=6y_2=\operatorname{LCM}(3,6)=6
  • y3=LCM(3,6,4)=12y_3=\operatorname{LCM}(3,6,4)=12

となり,$y_1 を満たします.

3
2 3 6
No

どのように AA を並び替えても条件を満たすことができません.

10
922513 346046618969 3247317977078471 4638516664311857 18332844097865861 81706734998806133 116282391418772039 134115264093375553 156087536381939527 255595307440611247
Yes
922513 346046618969 116282391418772039 81706734998806133 255595307440611247 156087536381939527 134115264093375553 18332844097865861 3247317977078471 4638516664311857