While visiting the farmers' market, Busy Beaver stops to watch a street magician. The magician presents a row of $$$N$$$ boxes, holding $$$M$$$-bit nonnegative integers $$$a_1, a_2, \dots, a_N$$$, where $$$0 \le a_i \lt 2^M$$$ for all $$$1 \le i \le N$$$.
The magician magically sorts the boxes into non-decreasing order by a series of magic swaps. In a single magic swap, the magician chooses an index $$$i$$$ ($$$1 \le i \lt N$$$) such that the binary representations of $$$a_i$$$ and $$$a_{i+1}$$$ differ by exactly one bit, and swaps $$$a_i$$$ and $$$a_{i+1}$$$.
Watching the performance, Busy Beaver wonders about the limits of this trick. Out of all $$$2^{MN}$$$ possible initial values of $$$a_1, a_2, \dots, a_N$$$ in the boxes, how many of them can be sorted into non-decreasing order using magic swaps? Since this number may be large, Busy Beaver is content with finding it modulo $$$10^9+7$$$.
The first and only line of input contains two integers $$$N$$$ and $$$M$$$ ($$$1 \le N,M \le 50$$$).
Output a single integer: the number of sequences that can be sorted using magic swaps, modulo $$$10^9+7$$$.
There are five subtasks for this problem.
3 2
44
50 1
898961331
10 10
649370314
In the first sample, one sequence that can be sorted using magic swaps is $$$[a_1,a_2,a_3] = [3,1,2]$$$, as follows: