2813: 填充棋盘

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:8 解决:3

题目描述

横一划竖一划,横一划竖一划…………小R画出了一个n*m的棋盘。

由于NOIP快要到了,小R有了一个奇妙的想法。

在棋盘的每一个小方格中填入N,O,I,P这4个字母中的一个,若棋盘中每一个2*2的小棋盘中都有N,O,I,P这4个字母,小R就认为这个棋盘是幸运棋盘。小R想知道一共有多少种不同的幸运棋盘。由于这个结果可能会很大,你只需输出对1,000,000,007取模后的值。

输入

两个整数n,m表示棋盘的大小。

输出

一个整数表示幸运棋盘的个数对1,000,000,007取模后的值。

样例输入 复制

2 3

样例输出 复制

48

提示

对于30%的数据,n,m≤10

对于70%的数据,n,m≤1,000,000

对于100%的数据, 2≤n,m≤2,000,000,000