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

Гіперкуб High

Гіперкуб High

\includegraphics{https://static.e-olymp.com/content/0f/0f2bc4d425994fad7dc96196e179eb52e5f38037.jpg} \textbf{N}-мірним гиіеркубом (або \textbf{N}-кубом) зі стороною \textbf{a} > \textbf{0} називається фігура у \textbf{N}-мірному евклідовому просторі, яка будується наступним чином. Виберемо у \textbf{N}-мірному просторі яку-небудь (\textbf{N-1})-мірну гіперплощину. Побудуємо у ній (\textbf{N-1})-куб. Від кожної вершини цього куба проведемо відрізок довжини \textbf{a} перпендикулярно вибраній площині у одному і тому ж напрямку. Кінці цих відрізків будуть очевидно також лежати в (\textbf{N-1})-мірній площині, паралельній заданій, і утворювати (\textbf{N-1})-куб. Опукла оболонка усіх отриманих вершин (і заданого, і нового (\textbf{N-1})-куба) утворює \textbf{N}-мірний гіперкуб. За визначенням \textbf{0}-куб -- це точка, яка є єдиною вершиною цього куба. Неважко помітити, що \textbf{1}-куб -- відрізок на прямій, \textbf{2}-куб -- квадрат на площині, \textbf{3}-куб -- звичний трьохвимірний куб у тривимірному просторі. Гіперкуби більшої розмірності побачити дещо складніше, але очевидно формально можна побудувати за визначенням. \textbf{k}-мірною гранню (або \textbf{k}-гранню) \textbf{N}-мірного гіперкуба називається такий перетин його з \textbf{k}-мірною гіперплощиною, який не містить внутрішніх точок граней більшої розіерності. Кожен \textbf{N}-куб має одну \textbf{k}-грань, яка співпадає з ним самим. Можно довести, що \textbf{k}-грані являють собою \textbf{k}-куби. \textbf{0}-грані -- це вершины \textbf{N}-куба, \textbf{1}-грані -- його ребра і т.д. Потрібно обчислити кількість \textbf{k}-мірних граней \textbf{N}-мірного гіперкуба. \InputFile У єдиному рядку задано три цілих числа \textbf{N}, \textbf{k} і \textbf{p} (\textbf{0} ≤ \textbf{K} ≤ \textbf{N} ≤ \textbf{10^18}, \textbf{K} ≤ \textbf{2000}, \textbf{1} ≤ \textbf{p} ≤ \textbf{10^18}). \OutputFile У єдиний рядок виведіть \textbf{K+1} число: залишок від ділення на \textbf{p} кількості \textbf{0}-граней, \textbf{1}-граней, ..., \textbf{K}-граней \textbf{N}-куба.
Ліміт часу 4 секунди
Ліміт використання пам'яті 8 MiB
Вхідні дані #1
0 0 10
Вихідні дані #1
1
Автор Неспірний В.М.