#arc068d. [arc068_d]Solitaire

[arc068_d]Solitaire

問題文

すぬけくんは NN 枚のカードとデック(両端キュー)で遊ぶことにしました。 カードには 1,2,3...,N1,2,3...,N の数が書かれており、デックははじめ空です。

すぬけくんは 1,2,3,...,N1,2,3,...,N が書かれたカードをこの順に、それぞれデックの先頭あるいは末尾に挿入します。 その後、すぬけくんはデックの先頭あるいは末尾からカードを取り出して食べる、という操作を NN 回行います。

食べたカードに書かれていた数を食べた順番に並べて数列を作ることにします。このようにして作ることが可能な数列のうち、KK 番目の要素が 11 であるようなものの個数を 109+710^{9} + 7 で割った余りを求めなさい。

制約

  • 1KN2,0001 ≦ K ≦ N ≦ 2{,}000

入力

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

NN KK

出力

答えを出力せよ。


入力例 1

2 1

出力例 1

1

条件を満たす並びは 1,21,211 通りです。例えば以下のようにして、この並びを構成することが可能です。

  • 1,21,2 のどちらもカードの山の一番下に挿入する
  • カードの山の一番上からカードを取り出して食べることを 22 回行う

入力例 2

17 2

出力例 2

262144

入力例 3

2000 1000

出力例 3

674286644