Послідовність , , …, , що складається з чисел , , … , , називається перестановкою, якщо всі елементи в послідовності різні.
Перестановка містить зростаючу підпослідовність з елементів, якщо існують індекси
такі, що
Якщо перестановка має зростаючу підпослідовність з елементів, але не має жодної з B+1 елементів, то число називається ступенем зростання цієї перестановки.
Вам потрібно створити програму, яка, отримавши число , обчислює кількість перестановок, ступінь зростання яких дорівнює . Оскільки кількість таких перестановок може бути дуже великою, необхідно обчислити її залишок від ділення на .
Вхідний файл складається з одного рядка, що містить два цілі числа та (1 \leq N \leq 40, 1 \leq B \leq 5), розділені одним або кількома пробілами.
Вихідний файл повинен містити одне ціле число, яке є залишком від ділення на кількості перестановок, ступінь зростання яких дорівнює .
Приклад 1