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

k-Дерево

k-Дерево

Недавно Барт прослушал лекцию по деревьям. Она вдохновила его, вследствие чего Барт изобрел собственное дерево, которое назвал \textbf{k}-деревом. \textbf{k}-дерево - это бесконечное корневое дерево, в котором: \begin{itemize} \item каждая вершина содержит в точности \textbf{k} сыновей; \item каждое ребро имеет определенный вес; \item если посмотреть на ребра, исходящие из некоторой вершины к ее детям (в точности \textbf{k} ребер), то их веса равны \textbf{1}, \textbf{2}, \textbf{3}, ..., \textbf{k}. \end{itemize} На рисунку внизу показана часть \textbf{3}-дерева. \includegraphics{https://static.e-olymp.com/content/29/298ea8b0702e25a259836656fec904f777e263bd.jpg} Как только Милхауз, хороший друг Барта, узнал об этом дереве, он сразу заинтересовался: "Сколько существует путей общим весом \textbf{n} (сумма всех весов на ребрах на пути), начинающихся в корне \textbf{k}-дерева и содержащих как минимум одно ребро с весом не меньше \textbf{d}?". Помогите Милхауз найти ответ на этот вопрос. Поскольку количество путей может быть велико, вывести его по модулю \textbf{1000000007} (\textbf{10^9} + \textbf{7}). \InputFile В одной строке содержатся три целых числа: \textbf{n}, \textbf{k} и \textbf{d} (\textbf{1} ≤ \textbf{n}, \textbf{k} ≤ \textbf{100}, \textbf{1} ≤ \textbf{d}\textit{ }≤ \textbf{k}). \OutputFile Вывести одно число - ответ к задаче по модулю \textbf{1000000007} (\textbf{10^9} + \textbf{7}).
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
3 3 2
Вихідні дані #1
3
Джерело 2014 Azerbaijan - Zadeh cup