配点 : 500 点
問題文
x を m で割った余りを f(x,m) と表します。
初期値 A1=X および漸化式 An+1=f(An2,M) で定まる数列を A とします。i=1∑NAi を求めてください。
制約
- 1≤N≤1010
- 0≤X<M≤105
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
N X M
出力
i=1∑NAi を出力せよ。
6 2 1001
1369
数列 A は 2,4,16,256,471,620,… となるので、答えは 2+4+16+256+471+620=1369 となります。
1000 2 16
6
数列 A は 2,4,0,0,… となるので、答えは 6 となります。
10000000000 10 99959
492443256176507