問題文
最初、体力が N であるモンスターが 1 体います。
高橋君はモンスターに対し、モンスターの体力が 1 以上残っている限り繰り返し攻撃を行います。
高橋君は 1 回の攻撃で、fracP100 の確率でモンスターの体力を 2 減らし、 1−fracP100 の確率でモンスターの体力を 1 減らします。
モンスターの体力が 0 以下になるまでに行う攻撃回数の期待値を textmod998244353 で出力してください(注記参照)。
注記
求める期待値は必ず有限値かつ有理数となることが証明できます。また、この問題の制約下では、その値を互いに素な 2 つの整数 P, Q を用いて fracPQ と表したとき、RtimesQequivPpmod998244353 かつ 0leqRlt998244353 を満たす整数 R がただ一つ存在することが証明できます。この R を出力してください。
制約
- 1leqNleq2times105
- 0leqPleq100
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
N P
出力
高橋君の攻撃回数の期待値を textmod998244353 で出力せよ。
入力例 1
3 10
出力例 1
229596204
高橋君は 1 回の攻撃で、 frac10100=frac110 の確率でモンスターの体力を 2 減らし、 1−frac10100=frac910 の確率でモンスターの体力を 1 減らします。
- 最初、モンスターの体力は 3 です。
- 1 回目の攻撃の後、frac910の確率でモンスターの体力は 2、frac110の確率でモンスターの体力は 1 となります。
- 2 回目の攻撃の後、frac81100の確率でモンスターの体力は 1、frac18100 の確率でモンスターの体力は 0、frac1100 の確率でモンスターの体力は \-1 となります。 frac18100+frac1100=frac19100 の確率で体力は 0 以下となり、高橋君は 2 回で攻撃をやめます。
- 2 回目の攻撃の後で体力が 1 残っている場合、3 回目の攻撃の後でモンスターの体力は必ず 0 以下となり、高橋君は 3 回で攻撃をやめます。
よって、期待値は $2\\times \\frac{19}{100}+3\\times\\left(1-\\frac{19}{100}\\right)=\\frac{281}{100}$ となります。229596204times100equiv281pmod998244353 であるため、229596204 を出力します。
入力例 2
5 100
出力例 2
3
高橋君は 1 回の攻撃で、つねにモンスターの体力を 2 減らします。 2 回目の攻撃が終わった時点では体力が 5−2times2=1 残っているため、3 回目の攻撃を行う必要があります。
入力例 3
280 59
出力例 3
567484387