Farmer John has just given the cows a program to play with! The program contains two integer variables, *x* and *y*, and performs the following operations on a sequence *a*<sub class="lower-index">1</sub>, *a*<sub class="lower-index">2</sub>, ..., *a*<sub class="lower-index">*n*</sub> of positive integers:
 1.  Initially, *x* = 1 and *y* = 0. If, after any step, *x* ≤ 0 or *x* &gt; *n*, the program immediately terminates. 1.  The program increases both *x* and *y* by a value equal to *a*<sub class="lower-index">*x*</sub> simultaneously. 1.  The program now increases *y* by *a*<sub class="lower-index">*x*</sub> while decreasing *x* by *a*<sub class="lower-index">*x*</sub>. 1.  The program executes steps 2 and 3 (first step 2, then step 3) repeatedly until it terminates (it may never terminate). So, the sequence of executed steps may start with: step 2, step 3, step 2, step 3, step 2 and so on. 
The cows are not very good at arithmetic though, and they want to see how the program works. Please help them!

You are given the sequence *a*<sub class="lower-index">2</sub>, *a*<sub class="lower-index">3</sub>, ..., *a*<sub class="lower-index">*n*</sub>. Suppose for each *i* (1 ≤ *i* ≤ *n* - 1) we run the program on the sequence *i*, *a*<sub class="lower-index">2</sub>, *a*<sub class="lower-index">3</sub>, ..., *a*<sub class="lower-index">*n*</sub>. For each such run output the final value of *y* if the program terminates or -1 if it does not terminate.
The first line contains a single integer, *n* (2 ≤ *n* ≤ 2·10<sup class="upper-index">5</sup>). The next line contains *n* - 1 space separated integers, *a*<sub class="lower-index">2</sub>, *a*<sub class="lower-index">3</sub>, ..., *a*<sub class="lower-index">*n*</sub> (1 ≤ *a*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">9</sup>).

import sys
n=int(input())
a=[0,0]
a.extend(list(map(int,sys.stdin.readline().split())))
b=[[0]*2 for i in range(n+1)]
for i in range(1,n):
    a[1]=i
    x=1
    ans=i
    t=0
    c=[x]
    r=0
    while x>0 and x<=n:
        if x+a[x]<=0 or x+a[x]>n:
            r=1
            print(ans)
            break
        if b[x+a[x]][0]==-1:
            break
        if b[x+a[x]][0]>0:
            ans=b[x+a[x]][0]
            print(ans)
            break
        x+=a[x]
        c.append(x)
        ans+=a[x]
        
        if x-a[x]<=0 or x-a[x]>n:
            r=1
            print(ans)
            break
            
        if b[x-a[x]][1]==-1:
            break
        if b[x-a[x]][1]>0:
            ans=b[x-a[x]][1]
            print(ans)
            break
            
        x-=a[x]
        c.append(x)
        ans += a[x]
        
        t+=1
        if t>=100000:
            break
    if r==1:
        for j in range(1,len(c)):
            if j%2==1:
                b[c[j]][0]=ans
            else:
                b[c[j]][1]=ans
    else:
        print(-1)
        for j in range(1,len(c)):
            if j%2==1:
                b[c[j]][0]=-1
            else:
                b[c[j]][1]=-1
				  	 	 	 			   	 		   			