Hazoq was playing Minecraft then his door suddenly came off flying. Turns out it's Joy and he's here to claim taxes. But since Hazoq spent all his money on indomie he was not able to pay them and decided to run. Joy being not able to walk properly because of his old age he had no chance of catching him so he made a deal with Hazoq, Joy gave Hazoq a problem and told him if he solves it he doesn't have to pay taxes anymore.
The problem is as follows:
Given three integers , , count the number of different arrays of size that satisfy all the following conditions:
all elements of are positive integers
m \le x.
\sum_{i=1}^m a_i = n.
\max(a_1, a_2, \ldots, a_m)-\min(a_1, a_2, \ldots, a_m) \ge k.
You're a friend of Hazoq so you've decided to help him.
As the answer can be very large, output it modulo 10^9 + 7.
The input consists of only three integers n, x, k (1 \le n \le 10^5, 1 \le x \le \min(500, n), 0 \le k \le n-1).
The output consists of only one integer, the number of different arrays modulo 10^9 + 7.
Example 1
Example 2
Example 3
In the first sample. The two arrays are and . It can be shown that there are no other arrays that satisfy the conditions.
In the second sample. The arrays are \{1, 1, 4\}, \{1, 4, 1\}, \{4, 1, 1\}, and .
Subtask ( points): 1 \le n \le 8
Subtask ( points): k=0
Subtask ( points): 1 \le n \le 100
Subtask ( points): x=2
Subtask ( points): 1 \le n \le 1000
Subtask ( points): 1 \le x \le 20
Subtask ( points): No additional constraints