問題文

処理犬君は素数累乗数列が大好きです。 ここで素数累乗数列とは、数列の全ての項が素数を累乗して得られる数であるような数列です。

すなわち、長さ NN の数列 AA の 要素 Ai(1iN)A_i \, (1 \leq i \leq N) ついて、 xy=Aix^y = A_i となるような素数 xx 、正整数 yy が存在する数列です。

今、処理犬君の目の前には長さが NN の数列 AA11 つあります。この数列が素数累乗数列であるか判定してください。

制約

  • 11 \leq NN \leq 10001000
  • 1Ai10001 \leq A_i \leq 10001iN1 \leq i \leq N
  • 入力はすべて整数

入力

N
A_1 A_2 A_3 ... A_N
  • 11 行目に整数 NN が与えられます。
  • 22 行目に数列 AA が与えられます。

出力

数列 AA が素数累乗数列ならYes、そうでないならNoを出力してください。

入力例 1

3
2 9 8

出力例 1

Yes

22 == 212^1, 99 == 323^2, 88 == 232^3 であり、数列 AA の全ての項が素数を累乗して得られるような数であるため、 数列 AA は素数累乗数列です。

入力例 2

2
6 7

出力例 2

No

6=xy6 = x^y を満たす素数 xx 、正整数 yy は存在しないので、これは素数累乗数列ではありません。

入力例 3

1
144

出力例 3

No

144=xy144 = x^y を満たす素数 xx 、正整数 yy は存在しないので、これは素数累乗数列ではありません。

提出


Go (1.21)