#abc179e. [abc179_e]Sequence Sum

[abc179_e]Sequence Sum

問題文

xxmm で割った余りを f(x,m)f(x,m) と表します。

初期値 A1=XA_1=X および漸化式 An+1=f(An2,M)A_{n+1}= f(A_n^2, M) で定まる数列を AA とします。displaystylesumi=1NAi\\displaystyle{\\sum_{i=1}^N A_i} を求めてください。

制約

  • 1leqNleq10101 \\leq N \\leq 10^{10}
  • 0leqX<Mleq1050 \\leq X < M \\leq 10^5
  • 入力は全て整数

入力

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

NN XX MM

出力

displaystylesumi=1NAi\\displaystyle{\\sum_{i=1}^N A_i} を出力せよ。


入力例 1

6 2 1001

出力例 1

1369

数列 AA2,4,16,256,471,620,ldots2,4,16,256,471,620,\\ldots となるので、答えは 2+4+16+256+471+620=13692+4+16+256+471+620=1369 となります。


入力例 2

1000 2 16

出力例 2

6

数列 AA2,4,0,0,ldots2,4,0,0,\\ldots となるので、答えは 66 となります。


入力例 3

10000000000 10 99959

出力例 3

492443256176507