Anything Goes to One

2 secs 1024 MB
eSeF's icon eSeF

問題文

要素数 NN の数列 a=(a1, a2,,aN)a=(a_1,\ a_2,\cdots ,a_N) が与えられます。ここで、aa の要素は全て互いに相異なります。

m=1, 2, ,Km=1,\ 2,\ \cdots ,K の全てに対して、以下の問題を解いてください。


【問題】
整数 xx があり、はじめ x=mx=m である。これに対して、以下の操作 (1) と (2) を任意の順番で任意の回数行うことができる。

  • (1) : xxx+1x+1 に置き換える。
  • (2) : xxaia_i で割り切れるような整数 i (1iN)i\ (1\le i\le N) を選び、xxxai\dfrac{x}{a_i} で置き換える。

あなたは、操作によって x=1x=1 である状態にしたい。必要な操作回数の最小値は何回か?


なお、この制約下では、どのような m1m\ge 1 に対しても x=1x=1 にするような操作列が存在することが証明できます。

入力

N  KN\ \ K
a1  a2  aNa_1\ \ a_2 \ \cdots \ a_N

制約

  • 1N1051\le N\le 10^5
  • 2K2×1052\le K\le 2\times 10^5
  • 2ai2×1052\le a_i\le 2\times 10^5
  • iji\neq j ならば aiaja_i\neq a_j
  • 入力は全て整数

出力

KK 行出力し、i (1iK)i\ (1\le i\le K) 行目には、m=im=i の場合の答えを出力してください。
出力が多いので、高速な入出力を用いることを推奨します。

入力例1

2 5  
3 5  

出力例1

0
2
1
2
1

例えば、m=2m=2 のとき、以下のようにして2回で x=1x=1 とすることが可能です。

  • 操作1を行い、x=3x=3 とする。
  • 操作2で i=1i=1 を選び、x=33=1x=\dfrac{3}{3}=1 とする。

m=5m=5 のときは、以下のようにして1回で x=1x=1 とすることが可能です。

  • 操作2で i=2i=2 を選び、x=55=1x=\dfrac{5}{5}=1 とする。

入力例2

2 8
2 7  

出力例2

0
1
3
2
3
2
1
3

Submit


Go (1.21)