#P1205E. Expected Value Again

    ID: 2284 Type: RemoteJudge 4000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>combinatoricsstrings*3100

Expected Value Again

No submission language available for this problem.

Description

You are given integers nn, kk. Let's consider the alphabet consisting of kk different elements.

Let beauty f(s)f(s) of the string ss be the number of indexes ii, 1i<s1\le i<|s|, for which prefix of ss of length ii equals to suffix of ss of length ii. For example, beauty of the string abacabaabacaba equals 22, as for i=1,3i = 1, 3 prefix and suffix of length ii are equal.

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

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

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

Input

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

Output

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

Samples

Sample Input 1

2 3

Sample Output 1

333333336

Sample Input 2

1 5

Sample Output 2

0

Sample Input 3

100 1

Sample Output 3

9801

Sample Input 4

10 10

Sample Output 4

412377396

Note

In the first example, there are 99 words of length 22 in alphabet of size 33 — aaaa, abab, acac, baba, bbbb, bcbc, caca, cbcb, cccc. 33 of them have beauty 11 and 66 of them have beauty 00, so the average value is 13\frac{1}{3}.

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