今天发生了一件事情,导致李老师要进食药丸。这排药丸可以当成一个 $2 \times n$ 的矩阵。 我们称第 $i$ 行第 $j$ 列的那一颗药丸是在位置 $(i,j)$。 李老师要进食 $k$ 颗药丸。如果他进食药丸的次序为 $(i_1, j_1), (i_2, j_2), \dots, (i_k, j_k)$,那么这个次序是「美丽的」当且仅当:

  • 对于所有 $1 \lt x \lt y \le n$,如果 $i_x = i_y$,$j_x \lt j_y$。
  • 对于所有 $1 \lt x \le n$,在序列 $[i_1, i_2, \dots, i_x]$ 中,$1$ 的出现次数不比 $2$ 少。
  • 对于所有 $1 \lt x \le n$,如果 $j_x > 1$,那么 $(i_x, j_x-1)$ 在 $\{(i_1, j_1), (i_2, j_2), \dots, (i_{x-1}, j_{x-1})\}$ 曾经出现。

由于李老师在医院很无聊,他想知道总共存在有多少种「美丽的」药丸进食次序?

输入

唯一一行的输入包含两个正整数:$n$ 和 $k$。

输出

输出一个整数,代表总共存在「美丽的」药丸进食次序的数量。由于这个数字可能很大,请将其对 $10^9+7$ 取模。

数据范围

对于所有测试点:$1 \le n \le 10^5$,$1 \le k \le 2n$。

Case $n$
1-3 $\le 20$
4-7 $\le 200$
8-12 $\le 1000$
13-20 $\le 10^5$

Sample Test Cases

Input Output
5 3 3
李老师可以用三种方法去吃药丸:
  1. $(1, 1), (1, 2), (2, 1)$
  2. $(1, 1), (2, 1), (1, 2)$
  3. $(1, 1), (1, 2), (1, 3)$

就如下圖所示:

3 6 5
999 777 438001888
Click to copy.

Scoring: Per Case
Authored by s17r28
Appeared in 2023 Mini Contest 7 (sdic练习)