e-olymp 513. Проблема Николая

Задача

Николаю нужно доставить подарки для n (n1018) детей. Его интересует сколькими способами он может это сделать. Вам нужно дать ответ на этот простой вопрос. Так как это количество может быть очень большим, выведите результат по модулю m (m2009).

Входные данные

В одной строке заданы два натуральных числа n и m.

Выходные данные

Вывести искомое количество способов.

Тесты

Входные данные Выходные данные
500 2001 0
4 5 4
4 7 3
15 213 147
10 3 0

Код программы

Решение задачи

Если m является членом произведения n!, то остаток от деления на m равен 0.В остальных случаях ищем n! с вычислением остатка от деления после каждого перемножения.

Ссылки

Условие задачи на e-olymp.com.

Код решения на ideone.com.