方格填色
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

给一个m x n的方格,Applese想要给方格填上颜色,每个格子可以是黑色或者白色。他要求左右相邻两格不能同为白色且相邻两列不能全为黑色。

求满足条件的方案数。

输入描述:

输入两个整数m, n。(1 ≤ m ≤ 5, 1 ≤ n ≤ 1018)。

输出描述:

输出答案对109 + 7取模的结果。
示例1

输入

复制
3 1

输出

复制
8
示例2

输入

复制
3 5

输出

复制
1640
示例3

输入

复制
5 5

输出

复制
351032