The Flatlanders are building a fortress on a grid of square cells. The fortress will have several contours of defense. Each contour is a rectangle with sides along the borders of the cells.
The first, outer, defense contour is a rectangle of size $$$h \times w$$$. Each next contour is strictly inside all previous ones. Defense contours should not have common points.
The level of cell defense is the number of defense contours inside which this cell lies. The defense level of a fortress is equal to the sum of the defense levels of all its cells. For example, the fortress defense level in the picture is $$$16 \cdot 1 + 8\cdot 2 + 3 = 35$$$.
The Flatlanders are interested in all possible ways to build a fortress. They calculate the defense level of the fortress for each possible way, then calculate the sum of values of all ways. You should help the Flatlanders to calculate this sum. The answer can be large, output its modulo $$$10^9 + 7$$$.
In the first line of input there are two integers $$$h$$$ and $$$w$$$ ($$$1 \le h, w \le 400$$$).
Output single integer: the sum of defense levels for all ways to build a fortress modulo $$$10^9 + 7$$$.
3 3
19
5 5
1060
All possible ways to build a fortress from the first sample are in the picture.
All possible ways to build a fortress from the second sample are in the picture.