跳转至

Grox的序列五A

  • 参考时间限制:0.5 秒。
  • 实际时限:标准程序在目标环境的最慢用例中位耗时乘以 2,再按 0.5 秒向上取整。
  • 内存限制:512 MB。
  • 参考评测环境与测量

背景故事

你相信些什么?你愿意为这样的信念做出什么样的牺牲?你愿意为了一种直觉、一时念头,还是死去数千年之久的先知话语而甘冒自身或整个种族的危险?

——科学之书1(《Spore》,英文资料)

在你的不懈努力下,Grox 终于与你结成了盟友。与此同时,全银河系的其他文明都向你宣战了!

历经数十亿 Spore 年,Grox 终于交到了朋友,对这份友谊倍加珍惜。你发现他们不再像从前那样冰冷:他们也有喜怒哀乐,也会笑。作为礼物,他们构造了一个数列送给你。

整个数列实在太长,你决定计算它的特征数,再把这个特征数送回母星。

形式化问题描述

给定非负整数 \(n,k\) 和正整数 \(p\) .定义长度为 \(n+1\) 的数列

\[ a_i=i^k\binom ni\qquad(0\le i\le n) \]

本题约定 \(0^0=0\) ;其他整数的零次幂为 \(1\) .计算特征数

\[ S=\left(\sum_{i=0}^n a_i\right)\bmod p \]

输出最小非负余数。\(n\) 以十进制给出,可能无法存入通常的整数类型;\(p\) 不保证为质数。

输入格式

一行三个十进制整数 \(n,k,p\) .

输出格式

输出一行一个整数 \(S\) .

样例

样例 1

输入

10 103 10007

输出

5367

样例 2

输入

10 0 10007

输出

1023

样例 3

输入

3 1 8

输出

4

样例解释

样例二中,只有 \(i=0\) 不贡献,答案为 \(2^{10}-1=1023\) .样例三中,求和为 \(3+6+3=12\) ,对 \(8\) 取模得到 \(4\) .

数据范围与保证

对 100% 数据:

\(0\le n\le10^{1000}\) ;\(0\le k\le3000\) ;\(1\le p\le2\times10^9\) .

分值比例 额外条件
100% 无额外条件