#arc122e. [arc122_e]Increasing LCMs

[arc122_e]Increasing LCMs

問題文

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

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

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

制約

  • 1leqNleq1001 \\leq N \\leq 100
  • 2leqA1<A2cdots<ANleq10182 \\leq A_1 < A_2 \\cdots < A_N \\leq 10^{18}
  • 入力される値はすべて整数である

入力

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

NN A1A_1 A2A_2 cdots\\cdots ANA_N

出力

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

Yes x1x_1 x2x_2 cdots\\cdots xNx_N

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


入力例 1

3
3 4 6

出力例 1

Yes
3 6 4

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

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

となり,y1<y2<y3y_1<y_2<y_3 を満たします.


入力例 2

3
2 3 6

出力例 2

No

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


入力例 3

10
922513 346046618969 3247317977078471 4638516664311857 18332844097865861 81706734998806133 116282391418772039 134115264093375553 156087536381939527 255595307440611247

出力例 3

Yes
922513 346046618969 116282391418772039 81706734998806133 255595307440611247 156087536381939527 134115264093375553 18332844097865861 3247317977078471 4638516664311857