Степені перестановок
Проста
Обмеження на час виконання 4 секунди
Обмеження на використання пам'яті 64 мегабайти
Нехай N - натуральне число і S = {1, 2, 3, ..., N}. Для заданого натурального числа d функція f : S → S називається красивою, якщо існує така взаємно однозначна функція g : S → S, що для довільного x з S виконується рівність g(g(g(...g(x)...))) = f(x), де g повторюється рівно d разів.
Потрібно обчислити кількість красивих функцій. Так як відповідь може бути великою, то її слід вивести по модулю 1000000009.
Вхідні дані
У єдиному рядку вхідного файлу задані натуральні числа N і d (N ≤ 2000, d ≤ 10^18).
Вихідні дані
У вихідний файл виведіть кількість красивих функцій для заданих N і d по модулю 1000000009.
Приклади
Вхідні дані #1
Відповідь #1
Відправки 8
Коефіцієнт прийняття 25%