Макароны
Пьер известен своими макаронами. Он делает круглые макароны, хранящиеся в квадратных коробках размером 1 * 1, и овальные макароны, хранящиеся в прямоугольных коробках размером 1 * 2 (или, повернутые в прямоугольных коробках размером 2 * 1). Пьер хочет заполнить прямоугольный стол размером n * m двумя видами макарон, то есть стол должен быть полностью заполнен, без свободного места. Ширина стола n мала, чтобы гость мог легко взять макароны, а длина m велика, чтобы вместить огромное количество гостей. Чтобы стол был красивым, ориентация макарон всегда должна быть выровнена по сторонам стола.
Пьер хочет знать, сколько существует способов накрыть стол. Вы можете помочь ему?
Входные данные
Два целых числа n (1 ≤ n ≤ 8) и m (1 ≤ m ≤ 10^18
).
Выходные данные
Выведите количество вариантов накрыть стол по модулю 10^9
.