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

AVL

\textbf{AVL} дерева, придумані російськими вченими Адельсон-Вельським та Ландісом, є прикладом збалансованого бінарного дерева пошуку. У термінології \textbf{AVL}, підвішене бінарне дерево називається \textit{збалансованим}, якщо для кожної вершини висоти її лівого та правого піддерев відрізняються не більше, ніж на один. Таке дерево, власне, і називається \textit{AVL}-\textit{деревом}. Зрозуміло, існує далеко не єдине \textbf{AVL}-дерево при фіксованому числі вершин. Наприклад, існує шість \textbf{AVL}-дерев з п'ятьмома вершинами, вони зображені на рисунку нижче. \includegraphics{https://static.e-olymp.com/content/80/8043cf2c9639bfbc787556640f411b2db2c69455.jpg} Дерева з одинаковим числом вершин можуть мати різну висоту, наприклад, на рисунку знизу нарисовано два дерева з сімома вершинами, які можуть мати висоти \textbf{2} та \textbf{3}, відповідно. \includegraphics{https://static.e-olymp.com/content/80/8076038afe93316c76d61dc59964205c3614ee4b.jpg} Вам задано два числа - \textbf{N} та \textbf{H}, потрібно знайти число \textbf{AVL}-дерев, які складаються з \textbf{N} вершин і мають висоту \textbf{H}. Оскільки їх число досить велике, виведіть шукану кількість по модулю \textbf{786433}. \InputFile Єдиний рядок вхідного файлу містить два числа - \textbf{N} та \textbf{H} (\textbf{1} ≤ \textbf{N} ≤ \textbf{65535}, \textbf{0} ≤ \textbf{H} ≤ \textbf{15}). \OutputFile Виведіть єдине число - кількість \textbf{AVL}-дерев з \textbf{N} вершинами висоти \textbf{H}, по модулю \textbf{786433}.
Ліміт часу 2 секунди
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
7 3
Вихідні дані #1
16

Пояснення: 786433 просте число, 786433 = 3 * 2^18 + 1