P12540 [XJTUPC 2025] 离散对数

题目描述

给定正整数 $a$, $c$, $p$,保证 $p$ 是 **素数**,求 $b$ 使得: $$a^b \equiv b^c \pmod{p}$$ 我们称整数 $A, B, C$ 有 $A \equiv B \pmod{C}$,当且仅当存在整数 $k$ 使得 $A - B = C \times k$。

输入格式

输入仅一行三个整数 $a$, $c$ 和 $p$ ($1 \leq a, c < p \leq 10^9$),由一个空格隔开,含义如题面所述。 数据保证 $p$ 是素数。

输出格式

输出仅一个整数 $b$ ($1 \leq b \leq 10^{18}$),如果有多个合法答案,你可以输出任意一个。 可以证明,在范围内至少存在一个解。

说明/提示

对于第一组样例,我们有: $$3^{16} \equiv 16^5 \pmod{7}$$ 因为: $$3^{16} \bmod 7 = 43046721 \bmod 7 = 4$$ $$16^5 \bmod 7 = 1048576 \bmod 7 = 4$$