Олимпиадный тренинг

Задача . F. Равномерно ветвистые деревья


Деревом называется связный граф без циклов.

Два дерева, состоящих из n вершин, называются изоморфными, если существует перестановка p: {1, ..., n} → {1, ..., n} такая, что ребро (u, v) присутствует в первом дереве тогда и только тогда, когда ребро (pu, pv) присутствует во втором.

Вершина дерева называется внутренней, если её степень больше либо равна двум.

Посчитайте количество различных неизоморфных деревьев, состоящих из n вершин, таких что степень каждой внутренней вершины в точности равна d. Ответ выведите по заданному простому модулю mod.

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

В единственной строке входных данных находятся три числа n, d и mod (1 ≤ n ≤ 1000, 2 ≤ d ≤ 10, 108 ≤ mod ≤ 109) — количество вершин в дереве, необходимая степень внутренних вершин и простой модуль.

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

Выведите одно число — количество деревьев, удовлетворяющих условию задачи, взятое по модулю mod.


Примеры
Входные данныеВыходные данные
1 5 2 433416647
1
2 10 3 409693891
2
3 65 4 177545087
910726

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя