#include <bits/stdc++.h>
using namespace std;
const long long int mod = 1000000007;
int main() {
  ios::sync_with_stdio(0);
  int n;
  cin >> n;
  long long int a[10000], sum[10000], all[10000], m[10000];
  memset(all, 0, sizeof(all));
  for (int i = 2; i < pow(2, n + 1); i++) {
    cin >> a[i];
  }
  m[1] = sum[1] = 0;
  for (int i = 2; i < pow(2, n + 1); i++) {
    m[i] = sum[i] = sum[i / 2] + a[i];
  }
  long long int fin[10000];
  fin[1] = sum[(int)pow(2, n)];
  for (int i = pow(2, n); i < pow(2, n + 1); i++) {
    fin[1] = max(fin[1], sum[i]);
  }
  for (int i = pow(2, n) - 1; i >= 1; i--) {
    m[i] = max(m[2 * i], m[2 * i + 1]);
  }
  long long int ans = 0;
  for (int i = 1; i < pow(2, n); i++) {
    all[2 * i] = all[2 * i + 1] = all[i];
    if (m[2 * i] + all[i] < fin[1]) {
      ans += (fin[1] - all[i] - m[2 * i]);
      all[2 * i] = all[i] + fin[1] - all[i] - m[2 * i];
    }
    if (m[2 * i + 1] + all[i] < fin[1]) {
      ans += (fin[1] - all[i] - m[2 * i + 1]);
      all[2 * i + 1] = all[i] + fin[1] - all[i] - m[2 * i + 1];
    }
    cerr << "i"
         << ": " << i << " | "
         << "ans"
         << ": " << ans << endl;
    ;
  }
  cout << ans << endl;
}
