Задачі
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
3 3 2
Вихідні дані #1
3