E - すごろく Editorial /

Time Limit: 5 sec / Memory Limit: 128 MB

Description

Fは6面ダイスを1個使って進むすごろくに一人で挑戦しようとしている.

すごろくのマスの中には「○マス進む」と「振り出しに戻る」が存在し,そこに止まってしまうと,必ず指示された通りに移動しなければならない.マスの効果で移動した結果,再び効果のあるマスに止まった場合は,続けて指示通りに移動する.

Fはものぐさなので,実際にすごろくを遊ぶのはめんどくさくなってしまった.そこで,ゴールまでのダイスを振る回数の期待値を求めることにした.

Input

入力は複数のテストケースからなる.入力の終わりは1つの0のみを含んだ行で示される.各テストケースは以下の形式で与えられる.

n
x_1 x_2 … x_n
  • 1≦n≦500,000
  • -1≦x_i≦n-i
  • x_1,x_n=0

テストケースの1行目には,すごろくのマスの数nが書かれている.マスには1番からn番までの番号がふられている.スタートのマスが1番で,それからスタートに近い順に2番,3番,…,n-1番と続き,ゴールのマスがn番である.i番のマスでサイコロを振ってjの目が出たら,i+j番のマスへ移動する.もしもi+jn以上である場合,ゴールしたとみなされる.

テストケースの2行目には,n個の整数x_iが書かれている.x_ii番目のマスに書かれている指示を表す.x_i = -1 ならば「振り出しに戻る」,0 < x_i ≦ n-i ならば「x_iマス進む」,x_i = 0 ならそのマスには何の効果もない.

x_1, x_n0であることが保証されている.与えられるすごろくはゴール可能であり,ダイスを振る回数の期待値は10^7以上にならないことが保証されている.テストケースの数は1つのファイルにつき300個以下であることが保証されている.また,1つのファイルにつきnの合計は500,000以下であることが保証されている.

Output

各テストケースに対して,ダイスを振る回数の期待値を1行に出力せよ.誤差は,絶対誤差もしくは相対誤差で10^{-7}まで許容される.

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

Source Name

ふか杯 5th Contest