[SDOI2017]序列计数
题号:NC20390
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

Alice想要得到一个长度为n的序列,序列中的数都是不超过m的正整数,而且这n个数的和是p的倍数。
Alice还希望 ,这n个数中,至少有一个数是质数。Alice想知道,有多少个序列满足她的要求。

输入描述:

一行三个数,n,m,p。
1 ≤ n ≤ 10^9,1 ≤ m ≤ 2×10^7,1 ≤ p ≤ 100

输出描述:

一行一个数,满足Alice的要求的序列数量,答案对20170408取模。
示例1

输入

复制
3 5 3

输出

复制
33

备注:

对20%的数据,
对50%的数据,
对80%的数据,
对100%的数据,