AT_kupc2024_f Find x
题目描述
给定非负整数 $N, M$。
请判断是否存在一个不超过 $10^{18}$ 的正整数 $x$ 满足 $x^x \equiv N \pmod M$,如果存在,求出这样一个 $x$。
输入格式
输入包含一行,包含两个整数 $N$ 和 $M$。
输出格式
如果存在一个不超过 $10^{18}$ 的正整数 $x$ 满足 $x^x \equiv N \pmod M$,输出其中一个满足条件的 $x$。如果不存在,输出 $-1$。
说明/提示
## 部分得分
对于 $M$ 为素数的数据点,答对即可获得 1 分。
## 样例解释 1
$5^5 = 3125 \equiv 3 \pmod 7$ 成立。
## 样例解释 2
不存在不超过 $10^{18}$ 的正整数 $x$ 满足 $x^x \equiv 2 \pmod 6$。
## 数据范围
- $0 \leq N < M \leq 10^9$
- 输入的值均为整数。
由 ChatGPT 5 翻译