有 n n n 个蹦床排成一列,每个蹦床有一个弹力值 s i s_i si
每一轮的最开始,Pekora 会选择一个蹦床作为她的起点(任意一个蹦床都可以作为起点)。当她在蹦床 i i i 时,她会跳到蹦床 i + s i i+s_i i+si 上,并且 s i s_i si 会变为 m a x ( 1 , s i − 1 ) max(1,s_i-1) max(1,si−1)(也就是说,蹦床每被跳一次弹力值就会减一,直到弹力值为 1 1 1)。当她跳到了第 n n n 个蹦床的后面时,该轮结束。
现在,Pekora 想要把所有的 s i s_i si 都变成 1 1 1,问最少要多少轮才能实现这个目标
输入格式
本题有多组数据
第一行一个整数
T
T
T,表示数据的组数
对于每组数据:
第一行一个整数
n
n
n,表示蹦床的个数
第二行
n
n
n 个整数,分别为
s
1
…
n
s_{1\dots n}
s1…n
输出格式
共 T T T 行,每行一个整数表示该组数据的答案
说明与提示
1
≤
T
≤
500
1 \le T \le 500
1≤T≤500
∑
n
≤
5000
\sum n \le 5000
∑n≤5000
1
≤
s
i
≤
1
0
9
1 \le s_i \le 10^9
1≤si≤109