F. Генерация тестов
ограничение по времени на тест
5 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Генерация тестов — непростое дело! Часто генерации случайных больших тестов недостаточно, чтобы обеспечить полноценную проверку решений на правильность.

Например, рассмотрим задачу с одного из прошедших раундов Codeforces. Формат ее входных данных выглядит примерно так:

В первой строке записано целое число n (1 ≤ n ≤ maxn) — количество элементов в множестве. Во второй строке в возрастающем порядке записано n различных целых чисел a1, a2, ..., an (1 ≤ ai ≤ maxa) — элементы множества.

Если не обращать внимания на решение задачи, кажется, что сгенерировать хороший тест очень просто. Возьмем n = maxn, возьмем случайные различные ai от 1 до maxa, отсортируем... Далее вы поймете, что это не совсем так.

Решение задачи выглядит следующим образом. Пусть g — наибольший общий делитель a1, a2, ..., an. Пусть x = an / g - n. Тогда правильное решение выводит «Alice», если x нечетно, и «Bob», если x четно.

Рассмотрим два неверных решения задачи, отличающихся от правильного только формулой вычисления величины x.

Первое вычисляет x по формуле x = an / g (без вычитания n).

Второе вычисляет x по формуле x = an - n (без деления на g).

Будем считать тест интересным, если на нем оба неверных решения выдают ответ, отличающийся от правильного.

По данным значениям maxn, maxa и q найдите количество удовлетворяющих ограничениям интересных тестов к задаче и выведите его по модулю q.

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

Единственная строка содержит три целых числа maxn, maxa и q (1 ≤ maxn ≤ 30 000; maxn ≤ maxa ≤ 109; 104 ≤ q ≤ 105 + 129).

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

Выведите единственное число — количество удовлетворяющих ограничениям тестов, на которых оба приведенных неверных решения выдают ответ, отличающийся от правильного, по модулю q.

Примеры
Входные данные
3 6 100000
Выходные данные
4
Входные данные
6 21 100129
Выходные данные
154
Входные данные
58 787788 50216
Выходные данные
46009
Примечание

В первом примере интересные тесты выглядят следующим образом:


1 1 1 3
2 4 6 2 4 6