#P9629. [ICPC 2020 Nanjing R] Harmonious Rectangle

[ICPC 2020 Nanjing R] Harmonious Rectangle

题目描述

A vertex-colored rectangle is a rectangle whose four vertices are all painted with colors. For a vertex-colored rectangle, it's harmonious if and only if we can find two adjacent vertices with the same color, while the other two vertices also have the same color with each other.

For example, [1010]\begin{bmatrix} 1 & 0\\ 1 & 0 \end{bmatrix}, [0011]\begin{bmatrix} 0 & 0\\ 1 & 1 \end{bmatrix} and [1111]\begin{bmatrix} 1 & 1\\ 1 & 1 \end{bmatrix} are harmonious, while [1001]\begin{bmatrix} 1 & 0\\ 0 & 1 \end{bmatrix} is not (same number for same color, and different numbers for different colors).

For each point in $\{(x,y) | 1 \le x \le n, 1 \le y \le m, x,y \in \mathbb{Z}\}$, where Z\mathbb{Z} is the set of all integers, Kotori wants to paint it into one of the three colors: red, blue, yellow. She wonders the number of different ways to color them so that there exists at least one harmonious rectangle formed by the points, whose edges are all parallel to the xx- or yy-axis. That is to say, there exists 1x1<x2n1 \le x_1 < x_2 \le n and 1y1<y2m1 \le y_1 < y_2 \le m such that

$$\begin{cases} \text{color}(x_1, y_1) = \text{color}(x_1, y_2)\\ \text{color}(x_2, y_1) = \text{color}(x_2, y_2)\\ \end{cases} $$

or

$$\begin{cases} \text{color}(x_1, y_1) = \text{color}(x_2, y_1)\\ \text{color}(x_1, y_2) = \text{color}(x_2, y_2)\\ \end{cases} $$

where color(x,y)\text{color}(x, y) is the color of point (x,y)(x, y).

Two coloring plans are considered different if there exists a point having different colors in the two coloring plans.

输入格式

There are multiple test cases. The first line of the input contains an integer TT (1T1041 \le T \le 10^4) indicating the number of test cases. For each test case:

The first and only line contains three integers nn, mm(1n,m2×1031 \le n, m \le 2 \times 10^3).

输出格式

For each test case output one line containing one integer indicating the number of different ways of coloring modulo (109+7)(10^9 + 7).

3
1 4
2 2
3 3
0
15
16485