atcoder#ARC138E. [ARC138E] Decreasing Subsequence

[ARC138E] Decreasing Subsequence

Score : 10001000 points

Problem Statement

You are given integers NN and KK. Let us call an integer sequence A=(A1,A2,,AN)A=(A_1,A_2,\cdots,A_N) good when it satisfies all of the conditions below.

  • 0Aii0 \leq A_i \leq i (1iN1 \leq i \leq N)
  • For every integer v=1,2,,Nv=1,2,\cdots,N, there is at most one index ii such that Ai=vA_i=v.

Find the sum, modulo (109+7)(10^9+7), of the answers to the following problem for all good sequences AA.

  • Find the number of length-KK (not necessarily contiguous) subsequences of AA consisting of positive integers that are decreasing. In other words, find the number of sequences of indices 1i1<i2<<iKN1 \leq i_1 < i_2 < \cdots < i_K \leq N such that Ai1>Ai2>>AiK1A_{i_1}>A_{i_2}>\cdots>A_{i_K} \geq 1.

Constraints

  • 3N50003 \leq N \leq 5000
  • 2K2 \leq K
  • 2K1N2K-1 \leq N
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

NN KK

Output

Print the answer.

3 2
1

For example, A=(0,2,1)A=(0,2,1) is a good sequence, with one subsequence satisfying the condition. There are other good sequences such as A=(0,1,0),(1,2,3),(0,0,0)A=(0,1,0),(1,2,3),(0,0,0), but none of them has subsequences satisfying the condition. In the end, no good sequence other than A=(0,2,1)A=(0,2,1) has subsequences satisfying the condition, so the answer is 11.

6 2
660
10 3
242595
100 10
495811864