Problem9552--ABC239 —— Ex - Dice Product 2

9552: ABC239 —— Ex - Dice Product 2

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 512 MiB

Description

Snuke has a die (singular of dice) that shows integers from $1$ through $N$ with equal probability, and an integer $1$.  
He repeats the following operation while his integer is less than or equal to $M$.

-   He rolls the die. If the die shows an integer $x$, he multiplies his integer by $x$.

Find the expected value of the number of times he rolls the die until he stops, modulo $10^9+7$.

Definition of the expected value modulo $10^9+7$ We can prove that the desired expected value is always a rational number. Moreover, under the constraints of the problem, when the value is represented as an irreducible fraction $\frac{P}{Q}$, we can also prove that $Q \not\equiv 0 \pmod{10^9+7}$. Thus, an integer $R$ such that $R \times Q \equiv P \pmod{10^9+7}$ and $0 \leq R \lt 10^9+7$ is uniquely determined. Answer such $R$.

Input

Input is given from Standard Input in the following format:

```
$N$ $M$
```

Output

Print the answer.

Constraints

-   $2 \leq N \leq 10^9$
-   $1 \leq M \leq 10^9$

Sample 1 Input

2 1

Sample 1 Output

2
The answer is the expected value of the number of rolls until it shows 2 for the first time. Thus, 2 should be printed.

Sample 2 Input

2 39

Sample 2 Output

12
The answer is the expected value of the number of rolls until it shows 2 six times. Thus, 12 should be printed.

Sample 3 Input

3 2

Sample 3 Output

250000004
The answer is $\frac{9}{4}$. We have $4×250000004≡9\ (\bmod\ {10^9+7+)$, so 250000004 should be printed.

2392 39239

984914531

Sample 4 Input

1000000000 1000000000

Sample 4 Output

776759630

Source/Category