#include <bits/stdc++.h>
int a[1005];
int main() {
  int n, i, sum, flag;
  scanf("%d", &n);
  for (i = 1; i <= n; i++) scanf("%d", a + i);
  sum = 0;
  flag = 0;
  if (i < 3) flag = 1;
  for (i = n; i >= 3; i--) {
    if (i % 2 == 0 && a[i] > 0) flag = 1;
    if (i % 2 != 0) {
      while (a[i] > 0 || a[i - 1] > 0) {
        a[i]--;
        a[i - 1]--;
        a[(i - 1) / 2]--;
        sum++;
      }
    }
  }
  if (a[1] > 0) {
    sum = sum + a[1];
    a[1] = 0;
  }
  for (i = 1; i <= n; i++)
    if (a[i] > 0) {
      flag = 1;
    }
  if (flag == 1)
    printf("-1\n");
  else
    printf("%d\n", sum);
  return 0;
}
