Мадока уже закончила писать муниципальный этап в Новосибирске и пошла домой ждать результатов закрытого тестирования.
На олимпиаде была ровно одна задача — дана перестановка чисел от $$$1$$$ до $$$n$$$: $$$p_1, p_2, \ldots, p_n$$$. Нужно узнать, какое минимальное раз можно поменять местами соседние элементы, чтобы перестановка стала отсортированной в порядке возрастания.
Но Мадока решила её следующим образом: $$$k + \frac{|1 - p_1| + |2 - p_2| + \ldots + |n - p_n|}{2}$$$. Так как жюри знает, кто отец Мадоки, то, чтобы не потерять работу, они должны сделать такие тесты, чтобы решение Мадоки было верным. И поэтому им стало интересно, сколько существует перестановок длины $$$n$$$, для которых решение Мадоки выведет верный ответ на задачу, но так как ответ на задачу может быть слишком большим, то выведите его по модулю $$$10^9 + 7$$$.
В единственной строке через пробел заданы два числа $$$n, k$$$ ($$$2 \leq n \leq 17$$$, $$$0 \leq k \leq 50$$$).
В единственной строке выведите ровно число — количество перестановок длины $$$n$$$ по модулю $$$10^9 + 7$$$, для которых минимальное количество свапов соседних элементов для сортировки равно $$$k + \frac{|1 - p_1| + |2 - p_2| + \ldots + |n - p_n|}{2}$$$.
3 1
1
3 0
5
4 0
14
В первом примере подходит только перестановка $$$3, 2, 1$$$, для неё минимальное количество свапов — $$$3$$$, а у Мадоки ответ — $$$\frac{|1 - 3| + |2 - 2| + |3 - 1|}{2} + 1=2 + 1 = 3$$$.