F. Равномерно ветвистые деревья
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

Два дерева, состоящих из 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.

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