Во время посещения фермерского рынка Busy Beaver останавливается, чтобы посмотреть на уличного фокусника. Фокусник представляет ряд из $N$ коробок, в которых находятся $M$-битные неотрицательные целые числа $a_1, a_2, \dots, a_N$, где $0 \le a_i < 2^M$ для всех $1 \le i \le N$.
Фокусник магическим образом сортирует коробки в неубывающем порядке с помощью серии магических перестановок. За одну магическую перестановку фокусник выбирает индекс $i$ ($1 \le i < N$) такой, что двоичные представления $a_i$ и $a_{i+1}$ различаются ровно на один бит, и меняет местами $a_i$ и $a_{i+1}$.
Наблюдая за представлением, Busy Beaver задумывается об ограничениях этого трюка. Из всех $2^{MN}$ возможных начальных значений $a_1, a_2, \dots, a_N$ в коробках, сколько из них можно отсортировать в неубывающем порядке с помощью магических перестановок? Поскольку это число может быть очень большим, Busy Beaver достаточно найти его по модулю $10^9 + 7$.
Входные данные
Первая и единственная строка входных данных содержит два целых числа $N$ и $M$ ($1 \le N, M \le 50$).
Выходные данные
Выведите единственное целое число: количество последовательностей, которые можно отсортировать с помощью магических перестановок, по модулю $10^9 + 7$.
Подзадачи
Для этой задачи существует пять подзадач:
- (10 баллов): $1 \le N, M \le 5$.
- (20 баллов): $1 \le M \le 4$.
- (10 баллов): $1 \le M \le 10$.
- (10 баллов): $1 \le M \le 15$.
- (50 баллов): Дополнительные ограничения отсутствуют.
Примеры
Входные данные 1
3 2
Выходные данные 1
44
Входные данные 2
50 1
Выходные данные 2
898961331
Входные данные 3
10 10
Выходные данные 3
649370314
Примечание
В первом примере одна из последовательностей, которую можно отсортировать с помощью магических перестановок, это $[a_1, a_2, a_3] = [3, 1, 2]$. Процесс выглядит следующим образом:
- Выбираем $i = 1$. Заметим, что $a_1 = 3$ и $a_2 = 1$ различаются ровно на один бит, поэтому это магическая перестановка. Последовательность становится $[1, 3, 2]$.
- Выбираем $i = 2$. Заметим, что $a_2 = 3$ и $a_3 = 2$ различаются ровно на один бит, поэтому это магическая перестановка. Последовательность становится $[1, 2, 3]$, что является неубывающим порядком.
Из $2^{3 \cdot 2} = 64$ возможных начальных последовательностей, 44 могут быть отсортированы с помощью магических перестановок.