#include <bits/stdc++.h>
using namespace std;
int v[500], n, ans;
void modif(int pos, int value) {
  v[pos] -= value;
  v[pos] = max(v[pos], 0);
}
int main() {
  cin >> n;
  for (int i = 1; i <= n; ++i) {
    cin >> v[i];
  }
  if (n < 2 || (n % 2 == 0 && v[n])) {
    cout << -1 << '\n';
    return 0;
  }
  for (int i = n; i >= 1; --i) {
    if (v[i] != 0) {
      if (i % 2 == 0) {
        modif(i / 2, v[i]);
      } else {
        modif(i - 1, v[i]), modif(i / 2, v[i]);
      }
      ans += v[i];
    }
  }
  cout << ans << '\n';
  return 0;
}
