The sequence of integer pairs $(*a*_{1}, *b*_{1}), (*a*_{2}, *b*_{2}), ..., (*a*_{*k*}, *b*_{*k*})$ is beautiful, if the following statements are fulfilled:
$1 ≤ *a*_{1} ≤ *b*_{1} < *a*_{2} ≤ *b*_{2} < ... < *a*_{*k*} ≤ *b*_{*k*} ≤ *n*$, where$*n*$is a given positive integer;- all numbers
$*b*_{1} - *a*_{1}$,$*b*_{2} - *a*_{2}$,$...$,$*b*_{*k*} - *a*_{*k*}$are distinct.
For the given number $*n*$ find the number of beautiful sequences of length $*k*$. As the answer can be rather large, print the remainder after dividing it by $1000000007$ $(10^{9} + 7)$.
Input
The first line contains integer $*t*$ ($1 ≤ *t* ≤ 2·10^{5}$) — the number of the test data.
Each of the next $*t*$ lines contains two integers $*n*$ and $*k*$ ($1 ≤ *k* ≤ *n* ≤ 1000$).
Output
For each test from the input print the answer to the problem modulo $1000000007$ $(10^{9} + 7)$. Print the answers to the tests in the order in which the tests are given in the input.
Note
In the first test sample there is exactly one beautiful sequence: $(1, 1)$.
In the second test sample, the following sequences are beautiful:
$(1, 1)$;$(1, 2)$;$(2, 2)$.
In the fourth test sample, the following sequences are beautiful:
$(1, 1)$;$(1, 2)$;$(1, 3)$;$(2, 2)$;$(2, 3)$;$(3, 3)$.
In the fifth test sample, the following sequences are beautiful:
$(1, 1), (2, 3)$;$(1, 2), (3, 3)$.
In the third and sixth samples, there are no beautiful sequences.
样例
6
1 1
2 1
2 2
3 1
3 2
3 3
1
3
0
6
2
0
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。