#P3069. 「2019 集训队互测 Day 1」整点计数

「2019 集训队互测 Day 1」整点计数

题目描述

小 X 的姐姐小 F 是一名 X 国的占星师,而作为附魔师的小 X 则需要在占星的过程中辅助小 F。

今夜,空中的星星排列得格外整齐,如果将整个星空抽象成一个平面直角坐标系的话,在每一个整点处,都恰好有一颗星,小 X 和小 F 所在的星就是原点。

距离小 X 和小 F 所在的星相同的星之间是会相互作用的,如果记 f(x)f(x) 表示距离小 X 和小 F 所在的星 xx 个单位的星星的个数,那么这一系列的星将共计产生 f(x)kf(x)^k 点能量。

小 F 观察到,在月圆之夜,距离自己和小 X 所在的星恰好整数个单位的星产生的能量将会变得易于收集。并且,由于技术限制,小 F 暂时只能够收集距离自己和小 X 所在的星不超过 NN 个单位的星产生的能量。需要特别注意的是,小 X 和小 F 所在的星并不会产生能量。

小 X 要做的,就是帮助小 F 计算此时能够被收集的能量总量。由于能够收集的能量实在太过庞大,小 X 难以确保自己计算毫无失误,因此他希望你能够告诉他这个数值在对某一个数 PP 取模后的结果来验证他计算的正确性。

输入格式

一行三个正整数 N,k,PN,k,P

输出格式

一行一个整数 Ans\text{Ans},表示能量总量对 PP 取模的结果。

5 1 998244353
28
500 5 1000000000
365511168
142857 1 1000000009
2481012
998244353 998244353 998244353
637246480

数据范围与提示

对于所有测试数据,保证 1N,k1011,108P109+91 \leq N,k \leq 10^{11},10^8 \leq P \leq 10^9+9

测试点编号 分值 NN kk PP
1 33 1000\leq 1000 5\leq 5 PP 是质数
2 8×103\leq 8\times 10^3
3 66 2×105\leq 2\times 10^5
4 5×105\leq 5\times 10^5
5 55 3×106\leq 3\times 10^6
6 2×107\leq 2\times 10^7
7
8
9 88 2×108\leq 2\times 10^8 =1=1
10
11 =2=2
12
13 11 109\leq 10^9 =15=15 PP22 的次幂
14 =18=18
15 44 109\leq 10^9 PP 是质数
16 1010\leq 10^{10}
17
18
19 66 1011\leq 10^{11} 没有额外的限制
20