AT_abc335_g [ABC335G] Discrete Logarithm Problems

题目描述

给定 $N$ 个整数 $A_1,\ldots,A_N$ 和一个素数 $P$。请你计算满足以下条件的整数对 $(i, j)$ 的个数。 - $1 \leq i, j \leq N$。 - 存在某个正整数 $k$,使得 $A_i^k \equiv A_j \pmod{P}$。

输入格式

输入以以下格式从标准输入读入。 > $N$ $P$ $A_1$ $A_2$ $\ldots$ $A_N$

输出格式

请输出答案。

说明/提示

## 限制条件 - $2 \leq N \leq 2 \times 10^5$ - $1 \leq A_i < P$ - $2 \leq P \leq 10^{13}$ - $P$ 是素数 - 所有输入均为整数 ## 样例解释 1 满足条件的 $5$ 个数对为 $(1,1),(1,2),(1,3),(2,2),(3,3)$。例如对于 $(1,3)$,取 $k=9$ 时,有 $A_1^9 = 512 \equiv 5 = A_3 \pmod{13}$。 由 ChatGPT 4.1 翻译