U201721 小 C 的质数
题目背景
小 C 是一位卷王。他经常会做一些奇奇怪怪的题。
题目描述
小 C 最近在做和质数有关的题。今天他遇到了这样一个问题:
定义函数 $P(n)=\begin{cases}1\;( n\text{ 是质数})\\0\;(n\text{ 不是质数})\end{cases},f(i,k)=k^iP(i)$。给定正整数 $n,k$,你需要求出 $\left(\sum\limits_{i=2}^{n}f(i,k)\right)\bmod\left(10^9+7\right)$ 的值。
然而小 C 并不能解决这个问题,所以他想让精通 OI 的你帮帮他。
**请注意题目不寻常的时空限制和各子任务之间不同的数据规模。**
输入格式
两个正整数 $n$ 和 $k$。
输出格式
共一个数,表示答案。
说明/提示
**【样例1解释】**
小于等于 $11$ 的数中,$2,3,5,7,11$ 满足 $P(i)=1$,因此答案即为 $2^2+2^3+2^5+2^7+2^{11}=2220$。
**【样例3提示】**
模 $10^9+7$ 之前的答案是 $34631818207$,但是要注意取模的问题。
**【数据规模与约定】**
**本题采用捆绑测试。**
|子任务编号|$n$|$k$|时间限制|空间限制|分值|
| :-----------: | :-----------: | :-----------: | :-----------: | :-----------: | :-----------: |
|$\text{Subtask 1}$|$5\leqslant n\leqslant 10^8$|$1\leqslant k\leqslant 10^8$|$\text{2s}$|$\text{256M}$|$10$|
|$\text{Subtask 2}$|$5\leqslant n\leqslant 10^{13}$|$k=1$|$\text{5s}$|$\text{512M}$|$25$|
|$\text{Subtask 3}$|$5\leqslant n\leqslant 10^9$|$1\leqslant k\leqslant 10^8$|$\text{2s}$|$\text{256M}$|$25$|
|$\text{Subtask 4}$|$5\leqslant n\leqslant 10^9$|$1\leqslant k\leqslant 10^8$|$\text{2s}$|$\text{4M}$|$40$|
对于 $100\%$ 的数据,满足 $5\leqslant n\leqslant 10^{13},1\leqslant k\leqslant 10^8$。