#include <iostream>
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
const int N = 105;
int dp[N][N][N];
int vis[N][N][N];
int n;
int test_no;
vector<int>a;
int solve(int i, int l, int r){
if(i == (n+1) ){
if(l == 0 && r == n) return 0;
else return 1e8;
}
if(vis[i][l][r] == test_no) return dp[i][l][r] ;
vis[i][l][r] = test_no;
int new_l = max(0, i - a[i]);
new_l = min(l, new_l);
int new_r = min(n, i + a[i] - 1);
new_r = max(r, new_r);
int op1 = 1 + solve(i+1, new_l, r);
int op2 = 1 + solve(i+1, l, new_r);
int op3;
if(i > r && l == 0) op3 = solve(i+1,i,r);
else op3 = solve(i+1,l,r);
return dp[i][l][r] = min(op1, min(op2, op3));
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int t; cin>>t;
for(int i = 1; i <= t; i++){
test_no = i;
cin>>n;
a.clear(); a.resize(n+1);
for(int i = 1 ; i<= n ; i++) cin>>a[i];
cout<<solve(1,1,0)<<endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4gCnR5cGVkZWYgbG9uZyBsb25nIGxsOyAKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBOID0gMTA1OyAKCmludCBkcFtOXVtOXVtOXTsgCmludCB2aXNbTl1bTl1bTl07IAoKaW50IG47IAppbnQgdGVzdF9ubzsgCnZlY3RvcjxpbnQ+YTsgCmludCBzb2x2ZShpbnQgaSwgaW50IGwsIGludCByKXsKCWlmKGkgPT0gKG4rMSkgKXsKICAgICAgICAgIGlmKGwgPT0gMCAmJiByID09IG4pIHJldHVybiAwOyAKICAgICAgICAgIGVsc2UgcmV0dXJuIDFlODsgCiAgICB9CglpZih2aXNbaV1bbF1bcl0gPT0gdGVzdF9ubykgcmV0dXJuIGRwW2ldW2xdW3JdIDsgIAogICAgdmlzW2ldW2xdW3JdID0gdGVzdF9ubzsgCiAgICAgaW50IG5ld19sID0gbWF4KDAsIGkgLSBhW2ldKTsgCiAgICAgbmV3X2wgPSBtaW4obCwgbmV3X2wpOyAKICAgICBpbnQgbmV3X3IgPSBtaW4obiwgaSArIGFbaV0gLSAxKTsgCiAgICAgbmV3X3IgPSBtYXgociwgbmV3X3IpOyAKICAgICBpbnQgb3AxID0gMSArIHNvbHZlKGkrMSwgbmV3X2wsIHIpOyAKICAgICBpbnQgb3AyID0gMSArIHNvbHZlKGkrMSwgbCwgbmV3X3IpOyAKICAgICBpbnQgb3AzOyAKICAgICBpZihpID4gciAmJiBsID09IDApIG9wMyA9IHNvbHZlKGkrMSxpLHIpOwogICAgIGVsc2Ugb3AzID0gc29sdmUoaSsxLGwscik7IAogICAgIHJldHVybiBkcFtpXVtsXVtyXSA9IG1pbihvcDEsIG1pbihvcDIsIG9wMykpOyAKCQp9CmludCBtYWluKCkgewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IAogICAgY2luLnRpZShOVUxMKTsgY291dC50aWUoTlVMTCk7IAogICAgaW50IHQ7IGNpbj4+dDsgIAogICAgZm9yKGludCBpID0gMTsgaSA8PSB0OyBpKyspewogICAgICAgICB0ZXN0X25vID0gaTsgCiAgICAgICAgY2luPj5uOyAKICAgICAgICBhLmNsZWFyKCk7IGEucmVzaXplKG4rMSk7IAogICAgICAgICBmb3IoaW50IGkgPSAxIDsgaTw9IG4gOyBpKyspIGNpbj4+YVtpXTsgCiAgICAgICAgIGNvdXQ8PHNvbHZlKDEsMSwwKTw8ZW5kbDsKICAgIH0KfQ==
MTMKMQoxCjIKMSAxCjIKMiAxCjIKMSAyCjIKMiAyCjMKMSAxIDEKMwozIDEgMgozCjEgMyAxCjcKMSAyIDMgMSAyIDQgMgo3CjIgMSAxIDEgMiAzIDEKMTAKMiAyIDUgMSA2IDEgOCAyIDggMgo2CjIgMSAyIDEgMSAyCjYKMSAxIDQgMSAzIDIK
13
1
1
2
1 1
2
2 1
2
1 2
2
2 2
3
1 1 1
3
3 1 2
3
1 3 1
7
1 2 3 1 2 4 2
7
2 1 1 1 2 3 1
10
2 2 5 1 6 1 8 2 8 2
6
2 1 2 1 1 2
6
1 1 4 1 3 2