eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Рівняння 2

Рівняння 2

Задано рівняння виду \textbf{X^N} + \textbf{Y^N} ≡ \textbf{Z^N mod M}. Потрібно для фіксованих \textbf{N} і \textbf{M} знайти кількість різних розв'язків цього рівняння. Розв'язком назвемо таку трійку натуральних чисел (\textbf{X}, \textbf{Y}, \textbf{Z}), що виконується: \begin{itemize} \item \textbf{1} ≤ \textbf{X} ≤ \textbf{Y} < \textbf{M} \item \textbf{1 }≤ \textbf{Z} < \textbf{M} \item \textbf{X^N} + \textbf{Y^N} ≡ \textbf{Z^N mod M} \end{itemize} \InputFile У єдиному рядку вхідного файлу записано числа \textbf{N} і \textbf{M} (\textbf{1} ≤ \textbf{N}, \textbf{M} ≤ \textbf{50000}). \OutputFile У вихідний файл виведіть одне число --- відповідь до задачі.
Ліміт часу 4 секунди
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
1 3
Вихідні дані #1
2
Автор Дмитро Жуков
Джерело Зимова Школа, Харків 2011, День 2