Доминошка на клетчатой плоскости — это фигура из двух клеток, имеющих общую сторону. Замощение доминошками прямоугольника из $$$m \times n$$$ клеток — это такой набор доминошек, целиком лежащих внутри прямоугольника, что каждая клетка прямоугольника покрыта ровно одной из них. Два замощения $$$P$$$ и $$$Q$$$ считаются различными, если существуют доминошки $$$p \in P$$$ и $$$q \in Q$$$, у которых ровно одна общая клетка.
Сколько существует способов замостить прямоугольник $$$m \times n$$$ доминошками? Так как количество способов может быть очень большим, нужно вывести ответ по модулю $$$10^9 + 7$$$.
Первая строка ввода содержит два целых числа $$$m$$$ и $$$n$$$ — высота и ширина прямоугольника, соответственно ($$$1 \le m \le 6$$$, $$$1 \le n \le 10^{18}$$$).
Выведите одно число — количество способов замостить прямоугольник $$$m \times n$$$ доминошками по модулю $$$10^9 + 7$$$.
3 4
11
3 1
0