<pre>import sys


def recurse(i, l, nodes):
    m = i
    if i in nodes: return 0
    nodes.add(i)
    for j in range(0, len(l)):
        if i != j and l[i] + l[j] == abs(j - i):
            m = max(m, recurse(j, l, nodes))
    return m

while 1:
    n = int(input())
    if n==0: break
    l = [int(i) for i in input().split()]

    # TODO: REAKTOR FAGOTRY
    # TODO: fikslejtr

    visited = set()
    nodes = set()
    nodes.add(0)
    m = 0
    while nodes:
        i = nodes.pop()
        if i in visited: continue
        visited.add(i)
        m = max(m, i)
        for j in range(0, len(l)):
            if i != j and l[i] + l[j] == abs(j - i):
                nodes.add(j)

    print(m)

        

</pre>
