Codeforces Round 580 (Div. 1)
E
Expected Value Again
Codeforces
3100
原题
← DF →
翻译中…

You are given integers $n$, $k$. Let's consider the alphabet consisting of $k$ different elements.

翻译中…

Let beauty $f(s)$ of the string $s$ be the number of indexes $i$, $1\le i \lt |s|$, for which prefix of $s$ of length $i$ equals to suffix of $s$ of length $i$. For example, beauty of the string $abacaba$ equals $2$, as for $i = 1, 3$ prefix and suffix of length $i$ are equal.

翻译中…

Consider all words of length $n$ in the given alphabet. Find the expected value of $f(s)^2$ of a uniformly chosen at random word. We can show that it can be expressed as $\frac{P}{Q}$, where $P$ and $Q$ are coprime and $Q$ isn't divided by $10^9 + 7$. Output $P\cdot Q^{-1} \bmod 10^9 + 7$.

翻译中…

Input

翻译中…

The first and the only line contains two integers $n$, $k$ ($1\le n \le 10^5$, $1\le k\le 10^9$) — the length of a string and the size of alphabet respectively.

翻译中…

Output

翻译中…

Output a single integer — $P\times Q^{-1} \bmod 10^9 + 7$.

翻译中…

Note

翻译中…

In the first example, there are $9$ words of length $2$ in alphabet of size $3$ — $aa$, $ab$, $ac$, $ba$, $bb$, $bc$, $ca$, $cb$, $cc$. $3$ of them have beauty $1$ and $6$ of them have beauty $0$, so the average value is $\frac{1}{3}$.

翻译中…

In the third example, there is only one such word, and it has beauty $99$, so the average value is $99^2$.

翻译中…

样例

Input #1
2 3
Output #1
333333336
InputCopy OutputCopy
Input #2
1 5
Output #2
0
InputCopy OutputCopy
Input #3
100 1
Output #3
9801
InputCopy OutputCopy
Input #4
10 10
Output #4
412377396
InputCopy OutputCopy
题目信息
题号
1205E
时间限制
4 s
内存限制
256 MB
标签
组合数学
字符串

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。