A balanced bracket sequence is a string consisting of only brackets ("$$$($$$" and "$$$)$$$").
One day, Carol asked Bella the number of balanced bracket sequences of length $$$2N$$$ ($$$N$$$ pairs of brackets). As a mental arithmetic master, she calculated the answer immediately. So Carol asked a harder problem: the number of balanced bracket sequences of length $$$2N$$$ ($$$N$$$ pairs of brackets) with $$$K$$$ types of bracket. Bella can't answer it immediately, please help her.
Formally you can define balanced bracket sequence with $$$K$$$ types of bracket with:
For example, if we have two types of bracket "$$$()$$$" and "$$$[]$$$", "$$$()[]$$$", "$$$[()]$$$" and "$$$([])$$$" are balanced bracket sequences, and "$$$[(])$$$" and "$$$([)]$$$" are not. Because "$$$(]$$$" and "$$$[)$$$" can't form can't match with each other.
A line contains two integers $$$N$$$ and $$$K$$$: indicating the number of pairs and the number of types.
It's guaranteed that $$$1 \le K, N \le 10^{5}$$$.
Output one line contains a integer: the number of balanced bracket sequences of length $$$2N$$$ ($$$N$$$ pairs of brackets) with $$$K$$$ types of bracket.
Because the answer may be too big, output it modulo $$$10^{9} + 7$$$.
1 2
2
2 2
8
24 20
35996330
| Name |
|---|


