#fukasugoroku. [fuka_sugoroku]すごろく
[fuka_sugoroku]すごろく
Description
Fは6面ダイスを1個使って進むすごろくに一人で挑戦しようとしている.
すごろくのマスの中には「○マス進む」と「振り出しに戻る」が存在し,そこに止まってしまうと,必ず指示された通りに移動しなければならない.マスの効果で移動した結果,再び効果のあるマスに止まった場合は,続けて指示通りに移動する.
Fはものぐさなので,実際にすごろくを遊ぶのはめんどくさくなってしまった.そこで,ゴールまでのダイスを振る回数の期待値を求めることにした.
Input
入力は複数のテストケースからなる.入力の終わりは1つの0のみを含んだ行で示される.各テストケースは以下の形式で与えられる.
テストケースの行目には,すごろくのマスの数が書かれている.マスには番から番までの番号がふられている.スタートのマスが番で,それからスタートに近い順に番,番,…,番と続き,ゴールのマスが番である.番のマスでサイコロを振っての目が出たら,番のマスへ移動する.もしもが以上である場合,ゴールしたとみなされる.
テストケースの行目には,個の整数が書かれている.は番目のマスに書かれている指示を表す. ならば「振り出しに戻る」, ならば「マス進む」, ならそのマスには何の効果もない.
, はであることが保証されている.与えられるすごろくはゴール可能であり,ダイスを振る回数の期待値は以上にならないことが保証されている.テストケースの数は1つのファイルにつき300個以下であることが保証されている.また,1つのファイルにつきの合計は500,000以下であることが保証されている.
Output
各テストケースに対して,ダイスを振る回数の期待値を1行に出力せよ.誤差は,絶対誤差もしくは相対誤差でまで許容される.
Sample Input
2
0 0
7
0 -1 -1 -1 -1 -1 0
7
0 0 0 0 0 0 0
7
0 5 4 3 2 1 0
8
0 -1 -1 -1 0 -1 -1 0
0
Sample Output
1.00000000
6.00000000
2.16139403
1.00000000
10.50000000