AT_arc232_d [ARC232D] Delete Different

Description

整数 $ N,K $ が与えられます. $ 1 $ 以上 $ K $ 以下の整数からなる整数列 $ S $ に対し,スコア $ f(S) $ を次のように定義します. - $ S $ のすべての要素が等しくなるまで次の操作を繰り返す.この操作を行う回数が $ f(S) $ である. - 操作前の $ S $ の長さを $ |S| $ とする. $ 2 \leq i \leq |S| $ かつ $ S_{i-1} \ne S_i $ を満たすすべての $ i $ について, $ S $ の $ i $ 番目の要素を同時に削除する.削除せずに残った要素を元の順につなげて,新しい $ S $ とする. $ 1 $ 以上 $ K $ 以下の整数からなる長さ $ N $ の整数列 $ S $ は $ K^N $ 通り存在します. そのすべてに対する $ f(S) $ の総和を $ 998244353 $ で割った余りを求めてください.

Input Format

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

Output Format

答えを出力せよ.

Explanation/Hint

### Sample Explanation 1 $ (1,1,1),(2,2,2) $ のスコアは $ 0 $ で, $ (1,2,2),(2,1,1) $ のスコアは $ 2 $ です.その他 $ 4 $ 通りの整数列のスコアは $ 1 $ なので,総和は $ 8 $ です. ### Sample Explanation 2 例えば, $ S=(1,2,2,2,1,2) $ は次のように変化するので,スコアは $ 3 $ です. $ (1,2,2,2,1,2) \to (1,2,2) \to (1,2) \to (1) $ ### Constraints - $ 2 \leq N \leq 100 $ - $ 2 \leq K < 998244353 $ - 入力はすべて整数である.