問題文
要素数 N の数列 a=(a1, a2,⋯,aN) が与えられます。ここで、a の要素は全て互いに相異なります。
m=1, 2, ⋯,K の全てに対して、以下の問題を解いてください。
【問題】
整数 x があり、はじめ x=m である。これに対して、以下の操作 (1) と (2) を任意の順番で任意の回数行うことができる。
- (1) : x を x+1 に置き換える。
- (2) : x が ai で割り切れるような整数 i (1≤i≤N) を選び、x を aix で置き換える。
あなたは、操作によって x=1 である状態にしたい。必要な操作回数の最小値は何回か?
なお、この制約下では、どのような m≥1 に対しても x=1 にするような操作列が存在することが証明できます。
入力
制約
- 1≤N≤105
- 2≤K≤2×105
- 2≤ai≤2×105
- i=j ならば ai=aj
- 入力は全て整数
出力
K 行出力し、i (1≤i≤K) 行目には、m=i の場合の答えを出力してください。
出力が多いので、高速な入出力を用いることを推奨します。
入力例1
出力例1
例えば、m=2 のとき、以下のようにして2回で x=1 とすることが可能です。
- 操作1を行い、x=3 とする。
- 操作2で i=1 を選び、x=33=1 とする。
m=5 のときは、以下のようにして1回で x=1 とすることが可能です。
- 操作2で i=2 を選び、x=55=1 とする。
入力例2
出力例2