#abc189f. [abc189_f]Sugoroku2

[abc189_f]Sugoroku2

問題文

高橋君は双六で遊んでいます。

この双六には 00 から NN の番号がついた N+1N+1 個のマスがあります。 高橋君はマス 00 からスタートし、マス NN を目指します。

この双六では、11 から MM までの MM 種類の目が等確率で出るルーレットを使います。 各手番で、高橋君はルーレットを回して出た目の数だけ進みます。この結果マス NN に到達するか、マス NN を越えて進むことになる場合、ゴールとなります。

また、いくつかのマスは「振り出しに戻る」であり、それらのマスに止まると、マス 00 まで戻されます。 そのようなマスは KK 個あり、マス A1,ldots,AKA_1,\\ldots,A_K です。

高橋君がゴールするまでにルーレットを回す回数の期待値を答えてください。 ゴールすることが不可能な場合は、かわりに -1 を出力してください。

制約

  • 入力はすべて整数
  • 1leqNleq1051 \\leq N \\leq 10^5
  • 1leqMleq1051 \\leq M \\leq 10^5
  • 0leqKleq100 \\leq K \\leq 10
  • 0<A1<ldots<AK<N0 < A_1 < \\ldots < A_K < N

入力

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

NN MM KK A1A_1 ldots\\ldots AKA_K

出力

高橋君がゴールするまでにルーレットを回す回数の期待値を出力せよ。 なお、想定解答との絶対誤差または相対誤差が 10310^{-3} 以下であれば正解として扱われる。 ただし、ゴールすることが不可能な場合は、かわりに -1 と出力せよ。


入力例 1

2 2 0

出力例 1

1.5000

11 回目のルーレットで 11 を出した場合は 22 回、22 を出した場合は 11 回でゴールできるので、ルーレットを回す回数の期待値は 1.51.5 です。


入力例 2

2 2 1
1

出力例 2

2.0000

ルーレットで 11 を出すとマス 11 に移動しますが、このマスは「振り出しに戻る」なのでマス 00 に戻されます。
従って、22 が出るまでルーレットを回し続け、22 が初めて出た時点でゴールすることになります。
ii 回目に初めて 22 が出る確率は frac12i\\frac{1}{2^i} ですから、ルーレットを回す回数の期待値は $\\sum_{i = 1}^{\\infty} (i \\times \\frac{1}{2^i}) = 2$ となります。


入力例 3

100 6 10
11 12 13 14 15 16 17 18 19 20

出力例 3

-1

入力例 4

100000 2 2
2997 92458

出力例 4

201932.2222