#ATagc047c. [AGC047C] Product Modulo

[AGC047C] Product Modulo

题目描述

PP 为质数 200003200\,003。给定 NN 个整数 A1, A2, , ANA_1,\ A_2,\ \ldots,\ A_N,请计算所有 N(N1)/2N \cdot (N-1) / 2 个无序对 (Ai,Aj)(A_i, A_j)i<ji < j)对应的 ((AiAj)modP)((A_i \cdot A_j) \bmod P) 的和。

注意,不要求输出该和对 PP 取模的结果。

输入格式

输入以如下格式从标准输入读入:

NN A1A_1 A2A_2 \cdots ANA_N

输出格式

输出一个整数,即所有 ((AiAj)modP)((A_i \cdot A_j) \bmod P) 的和。

样例 1

输入

4
2019 0 2020 200002

输出

474287

样例 2

输入

5
1 1 2 2 100000

输出

600013

说明/提示

限制条件

  • 2N2000002 \leq N \leq 200\,000
  • 0Ai<P=2000030 \leq A_i < P = 200\,003
  • 输入中的所有值均为整数。

样例解释 1

非零的积如下所示:

  • 20192020modP=783202019 \cdot 2020 \bmod P = 78320
  • 2019200002modP=1979842019 \cdot 200002 \bmod P = 197984
  • 2020200002modP=1979832020 \cdot 200002 \bmod P = 197983

因此,答案为 0+78320+197984+0+0+197983=4742870 + 78320 + 197984 + 0 + 0 + 197983 = 474287

由 ChatGPT 4.1 翻译