/* 
 * File:   jump.cpp
 * Author: cteam032
 *
 * Created on October 24, 2015, 12:55 PM
 */

#include <cstdlib>
#include <iostream>

using namespace std;

/*
 * 
 */
int main(int argc, char** argv) {
        int pebbles;
        int * spots;
        int * keys;
        bool * way;
        int k;
        int point;
        while(true) {
            k = 0;
            point = 0;
            cin >> pebbles;
            if(pebbles == 0) {
                break;
            }
            keys = new int[pebbles];
            spots = new int[pebbles];
            way = new bool[pebbles];
            for(int i = 0; i < pebbles;i++) {
                cin >> spots[i];
            }
            way[0] = true;
            keys[0] = 0;
            k++;          
            do{
                for(int i = 0; i < keys[point]-spots[keys[point]]+1;i++) {
                    if(!way[i]) {
                        if(spots[i]+spots[keys[point]] == abs(keys[point]-i)) {
                            way[i] = true;
                            keys[k] = i;
                            k++;
                        }
                    }
                }
                for(int i=keys[point]+spots[keys[point]]-1;i<pebbles;i++) {
                    if(!way[i]) {
                        if(spots[i]+spots[keys[point]] == abs(keys[point]-i)) {
                            way[i] = true;
                            keys[k] = i;
                            k++;
                        }
                    }
                }
                /*for(int i = 0; i < pebbles; i++) {
                    cout << keys[i] << " ";
                }
                cout << "\n";*/
                point++;
            }while(point < pebbles && keys[point]!=0); 
            int max = 0;
            for(int i = 0; i<point;i++) {
                if(keys[i]>max) {
                    max = keys[i];
                }
            }           
            cout << max << endl;
    
    
        }return 0;}