#agc047c. [agc047_c]Product Modulo

[agc047_c]Product Modulo

問題文

PP を素数 200,003200\\,003 とします。NN 個の整数 A1,A2,ldots,ANA_1, A_2, \\ldots, A_N が与えられるので、Ncdot(N1)/2N \\cdot (N-1) / 2 個すべての非順序対 (Ai,Aj)(A_i, A_j) (i<ji < j) に対する ((AicdotAj)bmodP)((A_i \\cdot A_j) \\bmod P) の和を求めてください。

和を PP で割った余りを求めるのではないことに注意してください。

制約

  • 2leqNleq200,0002 \\leq N \\leq 200\\,000
  • 0leqAi<P=200,0030 \\leq A_i < P = 200\\,003
  • 入力中のすべての値は整数である。

入力

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

NN A1A_1 A2A_2 cdots\\cdots ANA_N

出力

一つの整数、すなわち ((AicdotAj)bmodP)((A_i \\cdot A_j) \\bmod P) の和を出力せよ。


入力例 1

4
2019 0 2020 200002

出力例 1

474287

00 でない積は以下の通りです。

  • 2019cdot2020bmodP=783202019 \\cdot 2020 \\bmod P = 78320
  • 2019cdot200002bmodP=1979842019 \\cdot 200002 \\bmod P = 197984
  • 2020cdot200002bmodP=1979832020 \\cdot 200002 \\bmod P = 197983

よって、答えは 0+78320+197984+0+0+197983=4742870 + 78320 + 197984 + 0 + 0 + 197983 = 474287 となります。


入力例 2

5
1 1 2 2 100000

出力例 2

600013