F. Pizza Stack
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

A customer has come in with an odd request at your pizza shop. They are ordering $$$n$$$ ($$$1 \leq n \leq 1000$$$) pizzas, with each pizza having a unique radius from 1 to $$$n$$$. Additionally, they want you to stack these pizzas on top of each other (like a stack of pancakes) in a very specific way. Given a pair of pizzas $$$a$$$ and $$$b$$$ in the stack, if pizza $$$a$$$ is below pizza $$$b$$$ in the stack and pizza $$$a$$$ has a larger radius than pizza $$$b$$$, we call this a "proper" pair. The customer requests a stack of pizzas with exactly ($$$0\leq k\leq 1000$$$) proper pairs of pizzas, and you want to find out exactly how many different ways you can stack your $$$n$$$ pizzas in order to have exactly $$$k$$$ proper pairs in your stack. Note that this number can be very large, so please mod it by $$$10^9 + 7$$$.

Input

The first and only line of input consists of two integers, $$$n$$$ ($$$1 \leq n \leq 1000$$$) and $$$k$$$ ($$$0\leq k\leq 1000$$$).

Output

Print out the number of ways to create a stack of $$$n$$$ pizzas with exactly $$$k$$$ proper pairs, mod $$$10^9 + 7$$$.

Examples
Input
3 0
Output
1
Input
3 1
Output
2