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

Б-дерева

Б-дерева

\textit{Якби би дерево вміло говорити...} Б-дерево - структура для зберігання даних у вториннній пам'яті (наприклад, на жорсткому диску). Б-дерево має декілька властивостей: \begin{enumerate} \item У кожної вершини, яка не є листком, кількість дітей не менша \textbf{t} і не більша \textbf{2·t}, де \textbf{t} - параметр, який називається \textit{степінню розгалуження}. \item У кожному листку зберігається декілька ключів - від \textbf{t-1} до \textbf{2·t-1} штук. \item Відстань від усіх листків до кореня однакова. \end{enumerate} Зверніть увагу, що корінь може бути листком. Два Б-дерева вважаються різними, якщо вони відмінні як графи з поміченими вершинами, або якщо вершина з однаковими помітками містить різну кількість ключів. Наприклад, існує усього \textbf{8} різних Б-дерев з чотирьома ключами та со степінню розгалуження \textbf{2}: \includegraphics{https://static.e-olymp.com/content/04/04b06bb3f704c6815cac293ed81490510019fef8.jpg} Підрахуйте кількість різних Б-дерев з \textbf{n} ключами у лисках та степінню розгалуження \textbf{t}. \InputFile У першому рядку знаходяться два натуральних числа \textbf{n} та \textbf{t} - кількість ключів у листках та степінь розгалуження, відповідно (\textbf{1} ≤ \textbf{n} ≤ \textbf{500}, \textbf{2} ≤ \textbf{t} ≤ \textbf{10^9}). \OutputFile У першому рядку виведіть єдиное число без ведучих нулів - кількістьо Б-дерев з \textbf{n} ключами у листка та степінню розгалуження \textbf{t}.
Ліміт часу 5 секунд
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
4 2
Вихідні дані #1
8
Автор Ілля Разенштейн