AT_kupc2024_f Find x

Description

非負整数 $ N, M $ が与えられます。 $ 10^{18} $ 以下の正整数 $ x $ であって $ x^x \equiv N \pmod M $ を満たすものが存在するか判定し、存在する場合はそのような $ x $ を $ 1 $ つ求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ M $

Output Format

$ 10^{18} $ 以下の正整数 $ x $ であって $ x^x \equiv N \pmod M $ を満たすものが存在する場合、そのような $ x $ の値を $ 1 $ つ出力せよ。そのような $ x $ が存在しないとき、 $ -1 $ を出力せよ。

Explanation/Hint

### 部分点 以下の制約を満たすデータセットに正解した場合には $ 1 $ 点が与えられる。 - $ M $ が素数 ### Sample Explanation 1 $ 5^5 = 3125 \equiv 3 \pmod 7 $ です。 ### Sample Explanation 2 $ x^x \equiv 2 \pmod 6 $ なる $ 10^{18} $ 以下の正整数 $ x $ は存在しません。 ### Constraints - $ 0 \leq N < M \leq 10^9 $ - 入力される値はすべて整数