eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

k-Дерево

k-Дерево

Недавно Барт прослушал лекцию по деревьям. Она вдохновила его, вследствие чего Барт изобрел собственное дерево, которое назвал k-деревом.

k-дерево - это бесконечное корневое дерево, в котором:

  • каждая вершина содержит в точности k сыновей;
  • каждое ребро имеет определенный вес;
  • если посмотреть на ребра, исходящие из некоторой вершины к ее детям (в точности k ребер), то их веса равны 1, 2, 3, ..., k.

На рисунке внизу показана часть 3-дерева.

prb7313

Как только Милхауз, хороший друг Барта, узнал об этом дереве, он сразу заинтересовался: "Сколько существует путей общим весом n (сумма всех весов на ребрах на пути), начинающихся в корне k-дерева и содержащих как минимум одно ребро с весом не меньше d?".

Помогите Милхауз найти ответ на этот вопрос. Поскольку количество путей может быть велико, вывести его по модулю 1000000007 (109 + 7).

Входные данные

В одной строке содержатся три целых числа: n, k и d (1 ≤ n, k ≤ 100, 1 ≤ d_ _≤ k).

* Выходные данные*

Вывести одно число - ответ к задаче по модулю 1000000007 (109 + 7).

Лимит времени 1 секунда
Лимит использования памяти 64 MiB
Входные данные #1
3 3 2
Выходные данные #1
3