#include <bits/stdc++.h>
using namespace std;
const int N = 200010;
int n, a[N], nexte[N], val[N];
long long sum[N];
vector<int> v[N];
void calc(int c, long long z) {
  z += val[c];
  sum[c] = z;
  for (auto i : v[c]) calc(i, z);
}
int main() {
  scanf("%d", &n);
  for (int i = 2; i <= n; i++) scanf("%d", &a[i]);
  for (int i = 2; i <= n; i++) {
    int x = i, v = a[i];
    x += a[i];
    if (x <= n) {
      v += a[x];
      x -= a[x];
      if (x > 0) nexte[i] = x;
    }
    val[i] = v;
  }
  for (int i = 2; i <= n; i++)
    if (nexte[i]) v[nexte[i]].push_back(i);
  for (int i = 2; i <= n; i++)
    if (!nexte[i]) calc(i, 0);
  for (int i = 1; i < n; i++) {
    int x = 1, v = i, k = 0;
    x += i;
    if (x <= n) {
      v += a[x];
      x -= a[x];
      if (x > 0) k = x;
    }
    if (k && !sum[k])
      printf("-1\n");
    else
      printf("%lld\n", sum[k] + v);
  }
  return 0;
}
