Greg has a pad. The pad's screen is an $*n* × *m*$ rectangle, each cell can be either black or white. We'll consider the pad rows to be numbered with integers from 1 to $*n*$ from top to bottom. Similarly, the pad's columns are numbered with integers from 1 to $*m*$ from left to right.
Greg thinks that the pad's screen displays a cave if the following conditions hold:
- There is a segment
$[*l*, *r*]$$(1 ≤ *l* ≤ *r* ≤ *n*)$, such that each of the rows$*l*, *l* + 1, ..., *r*$has exactly two black cells and all other rows have only white cells. - There is a row number
$*t*$$(*l* ≤ *t* ≤ *r*)$, such that for all pairs of rows with numbers$*i*$and$*j*$$(*l* ≤ *i* ≤ *j* ≤ *t*)$the set of columns between the black cells in row$*i*$(with the columns where is these black cells) is the subset of the set of columns between the black cells in row$*j*$(with the columns where is these black cells). Similarly, for all pairs of rows with numbers$*i*$and$*j*$$(*t* ≤ *i* ≤ *j* ≤ *r*)$the set of columns between the black cells in row$*j*$(with the columns where is these black cells) is the subset of the set of columns between the black cells in row$*i*$(with the columns where is these black cells).
Greg wondered, how many ways there are to paint a cave on his pad. Two ways can be considered distinct if there is a cell that has distinct colors on the two pictures.
Help Greg.
Input
The first line contains two integers $*n*$, $*m*$ — the pad's screen size $(1 ≤ *n*, *m* ≤ 2000)$.
Output
In the single line print the remainder after dividing the answer to the problem by $1000000007$ $(10^{9} + 7)$.
样例
1 1
0
4 4
485
3 5
451
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。