#agc005d. [agc005_d]~K Perm Counting

[agc005_d]~K Perm Counting

問題文

すぬけ君は順列が大好きなので、長さ NN の順列を作ることにしました。

ただしすぬけ君は整数 KK が嫌いなので、以下の条件を満たす順列を作ることにしました。

  • 順列を a1,a2,...,aNa_1, a_2, ..., a_N とする。全ての i=1,2,...,Ni = 1,2,...,N について、aiineqK|a_i - i| \\neq K を満たす

長さ NN の順列は N!N! 通りありますが、そのうち条件をみたすものは何個あるかを求めてください。

ただし答えは非常に大きくなることがあるので、答えを 924844033924844033(素数) で割ったあまりを求めてください。

制約

  • 2N20002 ≦ N ≦ 2000
  • 1KN11 ≦ K ≦ N-1

入力

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

NN KK

出力

11 行に答えを 924844033924844033 で割ったあまりを出力する。


入力例 1

3 1

出力例 1

2

(1,2,3)(1, 2, 3), (3,2,1)(3, 2, 1)22 つが条件を満たす。


入力例 2

4 1

出力例 2

5

(1,2,3,4)(1, 2, 3, 4), (1,4,3,2)(1, 4, 3, 2), (3,2,1,4)(3, 2, 1, 4), (3,4,1,2)(3, 4, 1, 2), (4,2,3,1)(4, 2, 3, 1)55 つが条件を満たす。


入力例 3

4 2

出力例 3

9

入力例 4

4 3

出力例 4

14

入力例 5

425 48

出力例 5

756765083