No tag edit access

D. Beautiful Pairs of Numbers

time limit per test

3 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputThe 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.

Examples

Input

6

1 1

2 1

2 2

3 1

3 2

3 3

Output

1

3

0

6

2

0

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.

Codeforces (c) Copyright 2010-2017 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Oct/23/2017 09:05:31 (c4).

Desktop version, switch to mobile version.

User lists

Name |
---|