시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB31133.333%

## 문제

The School of Food Sciences is running an experiment to study the effect of a healthy diet on the behaviour of monkeys. Each day the monkeys are separated into G groups. Each group has one or more monkeys and each group is given a single daily serving of fruits and vegetables according to the following rules:

• each monkey receives no more than one vegetable,
• each monkey receives the same number of fruits as the rest of monkeys in its group (otherwise they will go bananas),
• only one type of fruit and only one type of vegetable may be made available to monkeys in the same group,
• no two groups receive common fruit or vegetables,
• the number of vegetables received by a group is strictly less than the number of its monkeys, and
• each group receives no more than M fruits plus vegetables.

The project has a daily budget to purchase B fruits and vegetables, which must be completely spent, and B < 100*M. All fruits and vegetables have the same price. All purchased fruits and vegetables must be fed to the monkeys.

For 2 groups, of 3 and 4 monkeys, there are 6 different ways to feed them on a budget of 5 with the condition that each group may have no more than 5 fruits plus vegetables.

 Fruit #1 Vegetable #1 Fruits #2 Vegetable #2 3 3 0 3 0 0 2 0 2 1 1 0 0 0 0 0 4 4 0 2 3 1 0 1

Your task, as the IT member, is to write a program to compute the number of different ways to feed the monkeys.

## 입력

The input starts with an integer C, on a line by itself, that represents the number of test cases. 1 < C < 100. Each test case consists of three integers B, G and M on a line by themselves. B is the budget of the day, G is the number of groups, and M is the maximum number of fruits plus vegetables that any group may receive. 1 < B < 10,000,000, and 1 < G, M < 100,000.

## 출력

For each test case, print the number of different ways to feed the monkeys as an integer, modulo the prime number 1000,000,007.

## 예제 입력 1

3
5 2 5
5 2 3
4 1 5


## 예제 출력 1

6
2
1