atcoder#ABC239H. [ABC239Ex] Dice Product 2

[ABC239Ex] Dice Product 2

配点 : 600600

問題文

すぬけ君は 11 以上 NN 以下の整数が等確率で出るサイコロと整数 11 を持っています。 すぬけ君は持っている数が MM 以下である間、次の操作を繰り返します。

  • サイコロを振り、出た目を xx とする。持っている数に xx を掛ける。

操作を終了するまでにすぬけ君がサイコロを振った回数の期待値を mod 109+7\text{mod } 10^9+7 で求めてください。

期待値 $\pmod{10^9+7}$ の定義

求める期待値は必ず有理数になることが証明できます。また、この問題の制約のもとでは、その値を既約分数 PQ\frac{P}{Q} で表した時、Q≢0(mod109+7)Q \not\equiv 0 \pmod{10^9+7} となることも証明できます。よって、$R \times Q \equiv P \pmod{10^9+7}, 0 \leq R \lt 10^9+7$ を満たす整数 RR が一意に定まります。 この RR を答えてください。

制約

  • 2N1092 \leq N \leq 10^9
  • 1M1091 \leq M \leq 10^9

入力

入力は以下の形式で標準入力から与えられる。

NN MM

出力

答えを出力せよ。

2 1
2

答えはサイコロで 22 が出るまでにサイコロを振る回数の期待値になります。よって 22 を出力します。

2 39
12

答えはサイコロで 2266 回出るまでにサイコロを振る回数の期待値になります。よって 1212 を出力します。

3 2
250000004

答えは 94\frac{9}{4} です。4×2500000049(mod109+7)4 \times 250000004 \equiv 9 \pmod{10^9+7} なので 250000004250000004 を出力します。 109+7=1000000007\bf{10^9 + 7 = 1000000007}mod\mathrm{mod} を取る必要があるのに注意してください。

2392 39239
984914531
1000000000 1000000000
776759630