\begin{problem}{Инициализация массива}{init.in}{init.out}{2 секунды}{256 мегабайт}

%Автор задачи: Демьянюк Виталий
%Автор условия: Павел Кротков

Во многих языках программирования есть функции, которые отвечают за заполнение всего массива или некоторой его части определенным значением. В языке 
Pascal это функция \texttt{fillchar()}, в Java~--- \texttt{Arrays.fill()}, 
в C++~--- \texttt{memset()}. В новом языке программирования J\# появилась функция \texttt{mark()}, 
которая умеет работать только с массивами логического типа.

Функция \texttt{mark}, вызванная от двух параметров $a$ и $b$, присваивает всем 
элементам массива с индексами от $a$ до $b$ включительно значение \texttt{true}, 
Так, если взять массив длины 4, элементы которого нумеруются с единицы и все значения в 
котором изначально равны \texttt{false}, и выполнить с ним операции 
\texttt{mark(1, 3)} и \texttt{mark(2, 4)}, то весь массив окажется заполнен значениями \texttt{true}.

Одним из первых заданий для тех, кто начинает изучать J\#, является написание программы, 
содержащей ровно $M$ операций \texttt{mark}, и полностью заполняющей 
значениями \texttt{true} массив длины  $N$, изначально заполненный значениями \texttt{false}. 

Вы быстро справились с этим заданием, и теперь задумались: сколькими 
различными способами это можно сделать? 
Различными считаются такие способы, в которых $i$-я операция \texttt{mark} в двух программах 
запущена с разными параметрами хотя бы для одного $i$ от 1 до $M$. Это число может 
быть большим, поэтому требуется посчитать его по модулю $10^9+7$.

\InputFile
В первой строке входного файла даны два натуральных числа $N$ и $M$~--- длина массива и количество 
операций \texttt{mark}, которые должны быть в программе.
($1 \le N, M \le 70$).

\OutputFile
В единственной строке выходного файла выведите остаток от деления числа способов заполнить
массив из $N$ элементов значениями \texttt{true} с помощью $M$ вызовов операции
\texttt{mark} на число $10^9+7$.

\Examples

\begin{example}%
\exmp{
2 2
}{
7
}%
\end{example}

\Note
Искомые варианты: 
\begin{itemize}
\item \texttt{mark(1, 1); mark(1, 2)} 
\item \texttt{mark(1, 1); mark(2, 2)} 
\item \texttt{mark(1, 2); mark(1, 1)} 
\item \texttt{mark(1, 2); mark(1, 2)} 
\item \texttt{mark(1, 2); mark(2, 2)} 
\item \texttt{mark(2, 2); mark(1, 1)} 
\item \texttt{mark(2, 2); mark(1, 2)} 
\end{itemize}

\end{problem}
