AT_arc228_e [ARC228E] Pair of Permutations

Description

$ (1,2,\dots,N) $ の順列の組 $ (P,Q)=((P_1,P_2,\dots,P_N),(Q_1,Q_2,\dots,Q_N)) $ であって、以下の条件を満たすものの個数を $ 998244353 $ で割った余りを求めてください。 - $ 1 \le i \le N $ を満たす全ての整数 $ i $ に対して $ P_i \le i+M,Q_i \le i+M,P_i \neq Q_i $ を全て満たす。

Input Format

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

Output Format

答えを出力せよ。

Explanation/Hint

### Sample Explanation 1 $ (P,Q) $ として条件を満たすものは、以下の $ 4 $ 通りです。 - $ P = (1,2,3),Q = (2,3,1) $ - $ P = (1,3,2),Q = (2,1,3) $ - $ P = (2,3,1),Q = (1,2,3) $ - $ P = (2,1,3),Q = (1,3,2) $ ### Constraints - $ 2 \le N \le 10^9 $ - $ 1 \le M \le 125000 $ - 入力される値は全て整数