AT_abc428_g [ABC428G] Necklace
Description
$ 1 $ から $ N $ の番号のついた $ N $ 種類の宝石があります。あなたは全ての種類の宝石を無限に持っています。同じ種類の宝石同士は区別できません。
また、 $ 2 $ 以上の整数 $ U $ があります。各宝石の美しさは $ 2 $ 以上 $ U $ 以下の整数値で表され、宝石 $ i $ の美しさは $ b_i $ です。
$ 2 \leq x \leq U $ を満たす整数 $ x $ について、以下の問題の答えを $ f(x) $ と置きます。
> あなたはいくつかの宝石を円形状に並べてネックレスを作ることにしました。
> 使用した宝石の美しさの総積が $ x $ になるようなネックレスの個数を $ 998244353 $ で割った余りを求めてください。
> ただし、 $ 2 $ つのネックレスは回転させて一致する時は同じネックレスとみなして $ 1 $ 回だけ数えます。また、 $ 2 $ つのネックレスは上下をひっくり返した上で回転させて一致する場合でも、単に回転させて一致することがなければ別々に数えます。例えば、
>
> - ネックレス A: 宝石 $ 1 $ , 宝石 $ 2 $ , 宝石 $ 3 $ をこの順に時計回りに並べてできるネックレス
> - ネックレス B: 宝石 $ 2 $ , 宝石 $ 3 $ , 宝石 $ 1 $ をこの順に時計回りに並べてできるネックレス
> - ネックレス C: 宝石 $ 1 $ , 宝石 $ 3 $ , 宝石 $ 2 $ をこの順に時計回りに並べてできるネックレス
>
> とすると、ネックレス A とネックレス B は同じネックレスとみなして $ 1 $ 回だけ数えますが、ネックレス A とネックレス C は別々に数えます。
$ f(2), f(3), \dots, f(U) $ を計算してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ U $ $ b_1 $ $ b_2 $ $ \dots $ $ b_N $
Output Format
$ f(2), f(3), \dots, f(U) $ を空白区切りで $ 1 $ 行に出力せよ。
Explanation/Hint
### Sample Explanation 1
例えば $ x=4 $ の時、条件を満たすネックレスは次の $ 4 $ 個です。
- 宝石 $ 1 $ , 宝石 $ 1 $ をこの順に時計回りに並べてできるネックレス
- 宝石 $ 1 $ , 宝石 $ 2 $ をこの順に時計回りに並べてできるネックレス
- 宝石 $ 2 $ , 宝石 $ 2 $ をこの順に時計回りに並べてできるネックレス
- 宝石 $ 4 $ を並べてできるネックレス
### Constraints
- $ 1 \leq N \leq 5 \times 10^5 $
- $ 2 \leq U \leq 5 \times 10^5 $
- $ 2 \leq b_i \leq U $
- 入力される値は全て整数