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

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

8 секунд
256 мегабайт
Easy

Даны натуральные числа a, b, n.

Требуется найти дискретный логарифм b по основанию a по модулю n, то есть такое число x (0 ≤ x < n), что a^x ≡ b (mod n).

Input

В первой строке входного файла заданы через пробел три целых числа a, b и n (0 ≤ a, b, n ≤ 10^12), n ≠ 0.

Output

В первой строке выходного файла выведите -1, если дискретного логарифма не существует. Иначе следует вывести его значение.

Если ответ не однозначен, разрешается выводить любой.

Examples

Example 1

Loading
Loading