import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 *
 * @author kuric10
 */
public class Jump {
    
    private static int pole[] = new int [10001];
    private static int mnz[] = new int [10001];
    private static int last[] = new int [10001];
    private static int n;

    
    
    public static void main(String[] args) throws IOException{
        
        BufferedReader input = new BufferedReader(new InputStreamReader(System.in));

        String poleS[];
        int kt;
 
        int lastCurrent, temp, current;
        
        n = Integer.parseInt(input.readLine());
        while(n!=0){
            
            
            poleS = input.readLine().split(" ");
           /* for (int i = 0; i < n; i++) {
                pole[i] = Integer.parseInt(poleS[i]);
                mnz[i] = -1;
                
            }*/
            
            //spracuj();
            
            for (int i = 0; i < n; i++) {
                pole[i] = Integer.parseInt(poleS[i]);
                mnz[i] = i;
                last[i] = -1;
                current = i;
                
                for (int j = i-1-pole[i]; j >= 0; j--) {
                    if(pole[j]+j+pole[i]==i){
                        //kt = mnz[j];
                        
                        if(mnz[j] == mnz[i])continue;
                        
                        //for (int k = mnz[j]; k >=0 ; k--) {
                            temp = mnz[j];
                            kt = mnz[j];
                            lastCurrent = temp;
                            while(temp!=-1){
                               // System.out.println("temp"+temp+" mnz"+mnz[j]);
                                mnz[temp] = i;
                                lastCurrent = temp;
                                temp = last[temp];
                                
                                
                                
                            }
                            
                            //System.out.println("current "+current+" "+kt);
                            last[current] = kt;
                            
                            current = lastCurrent;
                            
                            
                            /*if(mnz[k]==kt){
                                mnz[k] = i;
                            }*/
                        //}
                    }
                }
                
                
               /* System.out.println(i+" "+pole[i]);
                for (int j = 0; j <= i; j++) {

                    System.out.print(mnz[j]+" ");
                    
                }System.out.println("");
                for (int j = 0; j <= i; j++) {

                    System.out.print(last[j]+" ");
                    
                }System.out.println("");
                
                System.out.println("");*/
                
            }
            
            
            
            
            
            System.out.println(mnz[0]);
            //first = mnz[0];
            //kt = 0;
            /*for (int i = 0; i < n; i++) {
                if(mnz[i]==first)kt = i;
               
            }*/
           /* for (int i = n-1; i >= 0; i--) {
                if(mnz[i]==first){
                    System.out.println(i);
                    break;
                }
            }*/
            
            //System.out.println(kt);
            
            n = Integer.parseInt(input.readLine());
        }
    }

}