#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
const int N = 510;
long long int powxy(long long int x, long long int y) {
  if (y == 0) return 1;
  if (y % 2 == 1) return (x * powxy(x, y - 1)) % mod;
  long long int t = powxy(x, y / 2) % mod;
  return (t * t) % mod;
}
long long int a[300005];
int vis[300005][2];
long long int dp[300005][2];
int n;
long long int solve(int pos, int s) {
  if (pos <= 0 || pos > n) return 0;
  if (vis[pos][s]) return dp[pos][s];
  vis[pos][s] = 1;
  dp[pos][s] = -1;
  long long int ans = solve(pos + a[pos] * (s ? -1 : 1), !s);
  if (ans != -1) ans += a[pos];
  return dp[pos][s] = ans;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> n;
  for (int i = 2; i <= n; i++) cin >> a[i];
  for (int i = 1; i < n; i++) {
    a[1] = i;
    vis[1][0] = vis[1][1] = 0;
    long long int res = solve(1, 0);
    cout << res << "\n";
  }
}
