G

Left Right

 

Since you have been participating in programming contests and problem solving for quite a long time, I think most of you know about Alice and Bob :). They are responsible for inventing new games on various occasions. This time, they are back with a new game again.

This new game is played in a one-dimensional board. The board contains N cells. The cells are numbered from 0 to N-1, where the left most cell is marked as cell 0. Each cell can contain at most one piece. There are two kinds of pieces, gray and white. Alice moves all gray pieces, and bob moves all white ones. The pieces alternate, that is, leftmost piece is gray, next is white, next to that is gray, then it's white again, and so on. There will always be equal number of black and gray pieces.


At each move, the player selects at least one, and at most d of it's pieces and move each one, either to it's left or to it's right, any number of cells (at least 1). Please note that, in each move, you can move some pieces left, and some pieces right, and also, you can keep some pieces unmoved, as long as, you move at least one of your pieces. But, it can neither jump over other pieces, nor it can move outside the board. The players alternate their moves.

For example, if Alice decides to move the left most gray piece, these two moves are available to her.


Moving the gray piece to the left

Moving the gray piece to the right

Alice moves first. The game ends, when someone is unable to make any move, and loses the game. You can assume that, both of them play optimally (that is, if it is possible to apply a strategy that will ensure someones win, they will always use that strategy).

Although, in most occasions, they want to know, given the state of the game, who will win that game. But you are not required to find that here. Instead, Alice and Bob wrote a computer program to assist them in playing this game. The program generates the positions of all pieces randomly (the program always generate valid positions, that is no two piece are on the same cell, and the colors of the pieces alternate).

You are asked that, given the size of the board, and the number of gray and white pieces, how many different configurations ensure that Alice will win?

Input

First line of input contains an integer T(<=100) the number of test cases. Each of the next T lines contain three integers, N(1<=N<=10000), K(1<=K<=100, K<=N) and d(1<=d<=K), where N is the size of the board, and K is the number of pieces, and d is the maximum number of piece to move. K will always be an even number.

Output

For each test case, output the number configurations, where Alice wins. The result can be very large. So, output the number modulo 1000000007.

Sample Input

Sample Output

5

10 2 1

10 4 2

50 6 3

3642 68 10

5698 32 1

36

182

15874485

367653436

998833190

 

Problem Setter: Manzurur Rahman Khan, Special Thanks: Samee Zahur