Эмбер и Шторм играют в игру. Вначале, Эмбер выбирает помеченное дерево T на n вершинах, такое что степень каждой вершины не превосходит d. Затем Шторм выбирает две различные вершины u и v в этом дереве и выписывает номера вершин на пути из u в v как последовательность a1, a2... ak. Наконец Эмбер выбирает произвольный индекс i (1 ≤ i < k) и выполняет одну из следующих операций ровно один раз:
Эмбер выигрывает, если после произведённой операции массив монотонно возрастает или убывает, иначе выигрывает Шторм.
Игра может быть представлена набором (T, u, v, i, op), где op — это «перевернуть» или «выполнить отрицаение» в зависимости от действия, которое Эмбер выполнил на последнем шаге. Найдите количество наборов, которые могут образоваться в результате оптимальной игры Эмбера и Шторма. Если они играют оптимально и у игрока есть несколько ходов, которые гарантируют победу, игрок может воспользоваться любым из них. Также если у игрока нет ни одного хода, гарантирующего победу, он может воспользоваться любым ходом.
Выведите ответ по модулю m.
В первой строке задано три целых числа n, d и m (2 ≤ n ≤ 200, 1 ≤ d < n, 1 ≤ m ≤ 2·109).
Выведите единственное число — количество возможных наборов по модулю m.
2 1 1000000007
4
3 1 250
0
3 2 100
36
В первом тестовом примере существует только одно возможное дерево. Можно выбрать два пути: из 1 в 2 и из 2 в 1. Для обоих путей i может быть равно только 1, а op может принимать оба возможных значения. Поэтому ответ равен 4.
Во втором тестовом примере подходящих деревьев нет.
В третьем тестовом примере есть три возможных дерева.
Название |
---|