#arc138e. [arc138_e]Decreasing Subsequence

[arc138_e]Decreasing Subsequence

問題文

整数 N,KN,K が与えられます. 以下の条件をすべて満たす整数列 A=(A1,A2,cdots,AN)A=(A_1,A_2,\\cdots,A_N) を,よい数列と呼ぶことにします.

  • 0leqAileqi0 \\leq A_i \\leq i (1leqileqN1 \\leq i \\leq N)
  • 各整数 v=1,2,cdots,Nv=1,2,\\cdots,N について,Ai=vA_i=v となる ii は高々 11 つ.

すべてのよい数列 AA について以下の問題の答えを足し合わせた値を 109+710^9+7 で割った余りを求めてください.

  • AA の長さ KK の(連続するとは限らない)部分列であって,正整数のみからなり,かつ単調減少であるようなものは何通りあるか求めよ. 別の言い方をすれば,添字の列 1leqi1<i2<cdots<iKleqN1 \\leq i_1 < i_2 < \\cdots < i_K \\leq N であって, Ai1>Ai2>cdots>AiKgeq1A_{i_1}>A_{i_2}>\\cdots>A_{i_K} \\geq 1 を満たすものの個数を求めよ.

制約

  • 3leqNleq50003 \\leq N \\leq 5000
  • 2leqK2 \\leq K
  • 2K1leqN2K-1 \\leq N
  • 入力される値はすべて整数

入力

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

NN KK

出力

答えを出力せよ.


入力例 1

3 2

出力例 1

1

例えば A=(0,2,1)A=(0,2,1) はよい数列であり,条件を満たす部分列の個数は 11 です. それ以外のよい数列の例としては A=(0,1,0),(1,2,3),(0,0,0)A=(0,1,0),(1,2,3),(0,0,0) などが考えられますが,どれも条件を満たす部分列が存在しません. 結局,A=(0,2,1)A=(0,2,1) 以外のよい数列は条件を満たす部分列を持たず,よって答えは 11 になります.


入力例 2

6 2

出力例 2

660

入力例 3

10 3

出力例 3

242595

入力例 4

100 10

出力例 4

495811864