[ARC068F] Solitaire

题意翻译

将1-n顺序加入双端队列(每次可加头可加尾),再删除(每次可删头可删尾),求有多少种删除序列,使得1是第k个被删的。

题目描述

[problemUrl]: https://atcoder.jp/contests/arc068/tasks/arc068_d すぬけくんは $ N $ 枚のカードとデック(両端キュー)で遊ぶことにしました。 カードには $ 1,2,3...,N $ の数が書かれており、デックははじめ空です。 すぬけくんは $ 1,2,3,...,N $ が書かれたカードをこの順に、それぞれデックの先頭あるいは末尾に挿入します。 その後、すぬけくんはデックの先頭あるいは末尾からカードを取り出して食べる、という操作を $ N $ 回行います。 食べたカードに書かれていた数を食べた順番に並べて数列を作ることにします。このようにして作ることが可能な数列のうち、$ K $ 番目の要素が $ 1 $ であるようなものの個数を $ 10^{9}\ +\ 7 $ で割った余りを求めなさい。

输入输出格式

输入格式


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

输出格式


答えを出力せよ。

输入输出样例

输入样例 #1

2 1

输出样例 #1

1

输入样例 #2

17 2

输出样例 #2

262144

输入样例 #3

2000 1000

输出样例 #3

674286644

说明

### 制約 - $ 1\ ≦\ K\ ≦\ N\ ≦\ 2{,}000 $ ### Sample Explanation 1 条件を満たす並びは $ 1,2 $ の $ 1 $ 通りです。例えば以下のようにして、この並びを構成することが可能です。 - $ 1,2 $ のどちらもカードの山の一番下に挿入する - カードの山の一番上からカードを取り出して食べることを $ 2 $ 回行う