题目描述
一个顶点着色的矩形是指四个顶点都被涂上颜色的矩形。对于一个顶点着色的矩形来说,如果我们可以找到两个相邻顶点的颜色相同,而另外两个顶点也互相颜色相同,则称这个矩形是和谐的。
例如,矩阵
[1100],[0101] 和 [1111]都是和谐的,而 [1001]不是(相同的颜色有相同的数字,不同的颜色有不同的数字)。
对于集合中的每个点 {(x,y)∣1≤x≤n,1≤y≤m,x,y∈Z},其中 Z 是所有整数的集合,Kotori 想将其涂成三种颜色之一:红色、蓝色或黄色。她想知道有多少种不同的着色方案,使得至少存在一个由这些点形成的边都平行于 x 或 y 轴的和谐矩形。也就是说,存在 1≤x1<x2≤n点此导出和 1≤y1<y2≤m,满足以下条件之一:
{color(x1,y1)=color(x1,y2)color(x2,y1)=color(x2,y2)
或者
{color(x1,y1)=color(x2,y1)color(x1,y2)=color(x2,y2)
其中 color(x,y) 表示点 (x,y) 的颜色。
如果两个着色计划中存在一个点在两个着色计划中颜色不同,那么认为这两个着色计划是不同的。
输入格式:
输入包含多个测试用例。第一行输入一个整数 T (1≤T≤104),表示测试用例的数量。对于每个测试用例:
第一行输入三个整数 n, m (1≤n,m≤2×103),表示边界的大小。
输出格式:
对于每个测试用例,输出一行,包含一个整数,表示着色的不同方案数量模 (109+7)。