Dima loves making pictures on a piece of squared paper. And yet more than that Dima loves the pictures that depict one of his favorite figures.
A piece of squared paper of size $*n* × *m*$ is represented by a table, consisting of $*n*$ rows and $*m*$ columns. All squares are white on blank squared paper. Dima defines a picture as an image on a blank piece of paper, obtained by painting some squares black.
The picture portrays one of Dima's favorite figures, if the following conditions hold:
- The picture contains at least one painted cell;
- All painted cells form a connected set, that is, you can get from any painted cell to any other one (you can move from one cell to a side-adjacent one);
- The minimum number of moves needed to go from the painted cell at coordinates
$(*x*_{1}, *y*_{1})$to the painted cell at coordinates$(*x*_{2}, *y*_{2})$, moving only through the colored cells, equals$|*x*_{1} - *x*_{2}| + |*y*_{1} - *y*_{2}|$.
Now Dima is wondering: how many paintings are on an $*n* × *m*$ piece of paper, that depict one of his favorite figures? Count this number modulo $1000000007 (10^{9} + 7)$.
Input
The first line contains two integers $*n*$ and $*m*$ — the sizes of the piece of paper $(1 ≤ *n*, *m* ≤ 150)$.
Output
In a single line print the remainder after dividing the answer to the problem by number $1000000007 (10^{9} + 7)$.
样例
2 2
13
3 4
571
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。