問題文
非負整数の集合 s に対し、 mex(s) を「 s に含まれない最小の非負整数」として定義します。
0 以上 K 未満の整数からなる長さ N の数列 A1,A2,⋯,AN として考えられるものは KN 通りありますが、この全てに対する次の操作を行った後の ans の総和を 998244353 で割った余りを求めてください。
- まず、集合 S を用意する。これは最初空である。また、整数 i,ans を用意する。これは最初それぞれ 1,0 である。
- S に Ai が含まれないなら、 S に Aiを追加する。
- ans に mex(S) を加算し、 i に 1 を加算する。
- もし i>N なら操作を終了する。そうでなければ、操作2に戻る。
制約
- 入力は全て整数
- 1≤K≤105
- 1≤N≤9×108
入力
出力
答えを出力してください。
サンプル
数列 A としてありうるものは、 (0,0,0),(0,0,1),(0,1,0),(0,1,1),(1,0,0),(1,0,1),(1,1,0),(1,1,1) の 8 通りです。
1,2,3 回目の操作3で加算される数の総和はそれぞれ 4,10,13 であるため、答えは 27 となります。
998244353 で割った余りを出力してください。