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

Дискретное логарифмирование

Дискретное логарифмирование

Даны натуральные числа \textbf{a}, \textbf{b}, \textbf{n}. Требуется найти \textit{дискретный логарифм} \textbf{b} по основанию \textbf{a} по модулю \textbf{n}, то есть такое число \textbf{x} (\textbf{0} ≤ \textbf{x} < \textbf{n}), что \textbf{a^x ≡ b (mod n)}. \InputFile В первой строке входного файла заданы через пробел три целых числа \textbf{a}, \textbf{b} и \textbf{n} (\textbf{0} ≤ \textbf{a}, \textbf{b}, \textbf{n} ≤ \textbf{10^12}), \textbf{n} ≠ \textbf{0}. \OutputFile В первой строке выходного файла выведите \textbf{-1}, если дискретного логарифма не существует. Иначе следует вывести его значение. Если ответ не однозначен, разрешается выводить любой.
Лимит времени 8 секунд
Лимит использования памяти 256 MiB
Входные данные #1
2 4 6
Выходные данные #1
2