ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

Ufa SATU contest. Petrozavodsk training camp. Summer 2009

Описание     Задачи     Отправить на проверку     Состояние проверки     Результаты
Соревнование завершено

F. Осмотр владений

Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
В Тридвоичном царстве Тритроичном государстве жил-был Царь. Недолго ему осталось жить на этом свете, и решил Царь в последний раз объехать свои владения — посмотреть, что в них происходит.
В государстве n городов, между любыми двумя городами проложена ровно одна двусторонняя дорога. Один из городов является столицей, и Царь живёт именно там.
Царь очень стар, и склероз все чаще даёт знать о себе. Поэтому Царь принял решение объехать все города таким образом, чтобы побывать в каждом ровно по два раза, на всякий случай. Путь должен начинаться в столице и заканчиваться в ней же.
Пока Царь выбирал наилучший вариант путешествия, он столкнулся с одним интересным вопросом, который теперь не даёт ему покоя: сколько существует различных маршрутов, удовлетворяющих вышеперечисленным условиям?

Исходные данные

В первой строке через пробел записаны целые числа n и p (3 ≤ n ≤ 105; 1 ≤ p ≤ 109 + 7).

Результат

Выведите ответ на вопрос Царя по модулю p.

Примеры

исходные данныерезультат
3 123
2
4 123
30
Автор задачи: Артём Рипатти
Источник задачи: Ufa SATU Contest. Petrozavodsk Summer Session, August 2009
Чтобы отправить решение этой задачи на проверку перейдите в Архив задач: 1747. Осмотр владений