#include <string>
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <vector>
#include <set>

using namespace std;


int main(int argc, char ** argv)
{
	long long  int count;
	while (cin >> count)
	{
		set<int> un;
		if( count == 0 ) return 0;
		long long  int * stones = new long long  int[count];
		long long  int * visited = new long long  int[count];
		for (long long  int i = 0; i < count; i++) 
		{
			cin >> stones[i];
			visited[i] = 0;
			un.insert(i);
		}
		//input nacten
		long long  int vysledek = 0;
		vector<long long  int> fronta;
		fronta.push_back(0);
		visited[0]=1;
		while(!fronta.empty()){
			long long  int tmp = fronta.back();
			fronta.pop_back();
			for(auto it = un.begin(); it!=un.end(); it++)
			{
				
				if(stones[*it]+stones[tmp]==abs(*it-tmp))
				{
					fronta.push_back(*it);
					if(*it>vysledek) vysledek = *it;
					un.erase(it);
				}
			}
		}
		
		cout << vysledek << endl;
	}	
	
	return 0;
}