AT_arc163_f [ARC163F] Many Increasing Problems
Description
[problemUrl]: https://atcoder.jp/contests/arc163/tasks/arc163_f
PCT 君は以下の問題を作りました。
> **Increasing Problem**長さ $ N $ の非負整数列 $ A_1,A_2,\dots,A_N $ が与えられます。あなたは以下の操作を好きな回数($ 0 $ 回でもよい)行うことが出来ます。
>
> - $ 1\ \le\ i\ \le\ N $ を満たす整数 $ i $ を $ 1 $ 個選び、$ A_i $ を $ 1 $ 増やすか $ 1 $ 減らす。
>
> あなたの目標は $ A $ を広義単調増加にすることです。目標を達成するために必要な最小の操作回数を求めてください。
この問題がコンテストの最後に置くには簡単だと考えた PCT 君は、以下のように改題しました。
> **Many Increasing Problems**長さ $ N $ かつ全ての要素が $ 1 $ 以上 $ M $ 以下であるような整数列 $ A $ は $ M^N $ 個ありますが、その全てに対する **Increasing Problem** の答えの総和を $ 998244353 $ で割ったあまりを求めてください。
**Many Increasing Problems** を解いてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $
Output Format
**Many Increasing Problems** の答えを出力せよ。
Explanation/Hint
### 制約
- $ 1\ \le\ N,M\ \le\ 10^5 $
### Sample Explanation 1
長さが $ 2 $ かつ全ての要素が $ 1 $ 以上 $ 2 $ 以下である数列全てに対して \*\*Increasing Problem\*\* を解きます。 - $ A=(1,1) $ の時の解は $ 0 $ - $ A=(1,2) $ の時の解は $ 0 $ - $ A=(2,1) $ の時の解は $ 1 $ - $ A=(2,2) $ の時の解は $ 0 $ よって、答えは $ 0+0+1+0=1 $ です。