AT_ttpc2022_l Range NEQ

Description

正整数 $ N,M $ が与えられます。 $ (0,1,...,NM-1) $ の順列 $ P=(P_{0},P_{1},...,P_{NM-1}) $ のうち、以下の条件を満たすものの個数を $ 998244353 $ で割ったあまりを求めてください。 - $ 0\le i\lt NM $ を満たす全ての整数 $ i $ について、 $ \left\lfloor \frac{i}{M} \right\rfloor \neq \left\lfloor \frac{P_{i}}{M}\right\rfloor $ が成り立つ。 ただし、 $ \left\lfloor X \right\rfloor $ は $ X $ 以下の最大の整数を表します。

Input Format

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

Output Format

答えを出力せよ。

Explanation/Hint

### Sample Explanation 1 条件を満たす順列は $ P=(2,3,0,1),(2,3,1,0),(3,2,0,1),(3,2,1,0) $ の $ 4 $ 種類です。 例えば、 $ P=(3,0,1,2) $ は $ i=3 $ のとき、 $ \left\lfloor \frac{3}{2} \right\rfloor = \left\lfloor \frac{2}{2}\right\rfloor=1 $ となるため、条件を満たしません。 ### Sample Explanation 2 $ M=1 $ のときは条件の式は $ i\neq P_{i} $ と同値になります。 ### Constraints - 入力はすべて整数 - $ 2\le N \le 1000 $ - $ 1\le M \le 1000 $