atcoder#ABC300E. [ABC300E] Dice Product 3
[ABC300E] Dice Product 3
题目描述
あなたは 以上 以下の整数が等確率で出るサイコロと整数 を持っています。
あなたは持っている整数が 未満である間、次の操作を繰り返します。
- サイコロを振り、出た目を とする。持っている整数に を掛ける。
全ての操作を終了した時に、持っている整数が に一致する確率を で求めてください。
確率 とは? 求める確率は必ず有理数となることが証明できます。 またこの問題の制約下では、その値を互いに素な つの整数 , を用いて と表したとき、 かつ を満たす整数 がただ一つ存在することが証明できます。この を求めてください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
全ての操作を終了した時に、持っている整数が に一致する確率を で出力せよ。
题目大意
你有一个整数 和一个等概率显示 到 的整数的骰子。当你的整数严格小于 时,你重复下面的操作:
- 投这个骰子。如果它显示的是 ,就用你的整数乘以 。
找出你的整数最后是 的概率,模 。
6
239578645
7
0
300
183676961
979552051200000000
812376310
提示
制約
- は整数
Sample Explanation 1
操作が終了するまでの手順としてあり得る一例を挙げると次のようになります。 - はじめ, 持っている整数は である。 - サイコロを振り, が出る。持っている整数は になる。 - サイコロを振り, が出る。持っている整数は になる。 - 持っている整数が 以上になったので操作を終了する。 操作がこのように進んだ場合、操作後に持っている整数は であり に一致しません。 操作後に持っている整数が である確率は です。 $ 239578645\ \times\ 25\ \equiv\ 7\ \pmod{998244353} $ より、 を出力してください。
Sample Explanation 2
どのような目が出ても、操作後に持っている整数が になることはありません。