Олимпиадный тренинг

Задача . E. Уравнение конгруэнтности


Дано число \(x\). Ваша задача — найти количество положительных чисел \(n\) (\(1 \leq n \leq x\)), удовлетворяющих \(\)n \cdot a^n \equiv b \quad (\textrm{mod}\;p),\(\) где \(a, b, p\) — заданные константы.

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

Единственная строка содержит четыре целых числа \(a,b,p,x\) (\(2 \leq p \leq 10^6+3\), \(1 \leq a,b < p\), \(1 \leq x \leq 10^{12}\)). Гарантируется, что \(p\) — простое.

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

Выведите одно число: количество решений \(n\).

Примечание

В первом примере \(n=2\) и \(n=8\) являются решениями.


Примеры
Входные данныеВыходные данные
1 2 3 5 8
2
2 4 6 7 13
1
3 233 233 10007 1
1

time 3000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя