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 $
- 入力される値は全て整数