Гіперкуб Junior#2872

Гіперкуб Junior

1 секунда
8 мегабайтів
Складна

-мірний гіперкуб (або -куб) зі стороною a > 0 — це фігура у -мірному евклідовому просторі, яка будується так. Виберіть у -мірному просторі якусь (N-1)-мірну гіперплощину. Побудуйте у ній (N-1)-куб. Від кожної вершини цього куба проведіть відрізок довжини перпендикулярно вибраній площині в одному і тому ж напрямку. Кінці цих відрізків також будуть знаходитись у (N-1)-мірній площині, паралельній початковій, і утворюватимуть (N-1)-куб. Опукла оболонка всіх отриманих вершин (і початкового, і нового (N-1)-куба) утворює -мірний гіперкуб. За визначенням -куб — це точка, яка є єдиною вершиною цього куба. Легко побачити, що -куб — це відрізок на прямій, -куб — це квадрат на площині, а -куб — звичний тривимірний куб у тривимірному просторі. Гіперкуби більшої розмірності побачити складніше, але їх все одно можна формально побудувати за визначенням.

-мірна грань (-грань) -мірного гіперкуба — це такий перетин його з -мірною гіперплощиною, який не містить внутрішніх точок граней більшої розмірності. Кожен -куб має одну -грань, що збігається з ним самим. Можна довести, що -грані є -кубами. -грані — це вершини -куба, -грані — його ребра і так далі.

Потрібно обчислити кількість -мірних граней -мірного гіперкуба.

Вхідні дані

В одному рядку дано три цілих числа , , (0 \leq k \leq N \leq 10000, k \leq 2000, 1 \leq p \leq 10^{18}).

Вихідні дані

В одному рядку виведіть k+1 чисел: залишок від ділення на кількості -граней, -граней, , -граней -куба.

Приклади

Приклад 1

Loading
Loading