A96808.函数求和

普及/提高-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

我们用函数 f(x,m)f(x,m) 表示 xx 除以 mm 的余数(也就是 xxmm 取模)。

给定三个整数 N,X,MN,X,M,定义一个数列 AA

  • 初始时有 A1=XA_1 = X
  • 对于每个整数 i1i \ge 1,有

    Ai+1=f(Ai2,M).A_{i+1} = f(A_i^2, M).

请你计算

i=1NAi\sum_{i=1}^N A_i

输入格式

输入包含一行,包含三个整数 N,X,MN,X,M

输出格式

输出一个整数,表示

i=1NAi\sum_{i=1}^N A_i

的值。

输入输出样例

  • 输入#1

    6 2 1001

    输出#1

    1369
  • 输入#2

    1000 2 16

    输出#2

    6
  • 输入#3

    10000000000 10 99959

    输出#3

    492443256176507

说明/提示

数据范围

  • 1N10101 \le N \le 10^{10}
  • 0X<M1050 \le X < M \le 10^5
  • 输入中的所有数都是整数。

样例一:

数列 AA

2,4,16,256,471,620,2, 4, 16, 256, 471, 620, \dots

所以

i=16Ai=2+4+16+256+471+620=1369.\sum_{i=1}^6 A_i = 2 + 4 + 16 + 256 + 471 + 620 = 1369.

样例二:

数列 AA

2,4,0,0,0,2, 4, 0, 0, 0, \dots

所以前 10001000 项之和为

2+4+0++0=6.2 + 4 + 0 + \dots + 0 = 6.

首页