AT_arc213_d [ARC213D] Minimize Inversion

Description

$ 1\leq K\leq N $ を満たす正整数 $ N, K $ が与えられます。 $ (1, 2, \dots , N) $ の順列 $ P = (P_{1}, P_{2}, \dots , P_{N}) $ に対して、 $ f(P) $ を以下のように定義します。 - 以下の条件を満たす長さ $ N $ の整数列 $ A = (A_{1}, A_{2}, \dots, A_{N}) $ の転倒数としてあり得る最小の値 - 任意の整数 $ 1\leq i\leq N $ に対して $ |A_{i}| = P_{i} $ が成り立つ $ a = 1, 2, \dots, N $ について、以下の問いに答えてください。 > $ (1, 2, \dots , N) $ の順列 $ P = (P_{1}, P_{2}, \dots , P_{N}) $ であって、 $ P_{K} = a $ を満たすものは $ (N - 1)! $ 通りありますが、その全てに対する $ f(P) $ の総和を $ 998244353 $ で割ったあまりを求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ K $

Output Format

$ N $ 行出力せよ。 $ i $ 行目には $ a = i $ のときの答えを出力せよ。

Explanation/Hint

### Constraints - $ 1\leq K\leq N\leq 2\times 10^{5} $ - 入力は全て整数