#fukasugoroku. [fuka_sugoroku]すごろく

[fuka_sugoroku]すごろく

Description

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

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

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

Input

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

nn x1x2xnx_1 x_2 … x_n

  • 1n500,0001≦n≦500,000
  • \-1xini\-1≦x_i≦n-i
  • x1,xn=0x_1,x_n=0

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

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

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

Output

各テストケースに対して,ダイスを振る回数の期待値を1行に出力せよ.誤差は,絶対誤差もしくは相対誤差で10710^{-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