#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9;
const double EPS = 1e-9;
const double PI = acos(-1.);
int N;
int A[100500];
int main() {
  scanf("%d", &N);
  for (int i = 0; i < N; ++i) {
    scanf("%d", &A[i + 1]);
  }
  int ans = 0;
  for (int i = N; i > 0; --i) {
    if (A[i] > 0) {
      int pos = i / 2;
      if (pos == 0) pos = i;
      if (2 * pos + 1 > N) {
        puts("-1");
        return 0;
      }
      while (A[i] > 0) {
        ++ans;
        --A[pos];
        --A[pos * 2];
        --A[pos * 2 + 1];
      }
    }
  }
  printf("%d\n", ans);
  return 0;
}
