F. Крош и массивы
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

У Кроша есть два числа $$$n$$$ и $$$m$$$. Он называет массив из $$$k$$$ элементов хорошим, если любые два его соседних элемента отличаются ровно на единицу, то есть для любого $$$1 \le i \le k - 1$$$ $$$|a_i - a_{i + 1}| = 1$$$. Обратите внимание, что любой массив длины $$$1$$$ является хорошим. Помогите Крошу посчитать количество хороших массивов из $$$m$$$ элементов, состоящих из натуральных чисел от $$$1$$$ до $$$n$$$, таких, в которых каждое число от $$$1$$$ до $$$n$$$ встречается хотя бы раз. Так как ответ может получиться большим, выведите его остаток от деления на $$$10^9+7$$$. Два массива считаются различными, если существует позиция, на которой в этих массивах стоят разные элементы.

Входные данные

Вам даны два числа $$$1 \le m \le 2000$$$, $$$1 \le n \le m$$$.

Выходные данные

Выведите ответ на задачу по модулю $$$10^9+7$$$.

Примеры
Входные данные
4 3
Выходные данные
4
Входные данные
2 2
Выходные данные
2