#include <bits/stdc++.h>
using namespace std;
int a[100101], b[100100];
int max(int a, int b) { return a > b ? a : b; }
int min(int a, int b) { return a < b ? a : b; }
int reckol(int t, int n) {
  if (t * 4 > n) {
    b[t] = max(a[2 * t], a[t * 2 + 1]);
    return b[t] - min(a[2 * t], a[2 * t + 1]);
  } else {
    int kol1 = reckol(t * 2, n), kol2 = reckol(t * 2 + 1, n);
    b[t] = max(b[2 * t] + a[2 * t], b[t * 2 + 1] + a[2 * t + 1]);
    return kol1 + kol2 + b[t] -
           min(b[2 * t] + a[2 * t], b[2 * t + 1] + a[2 * t + 1]);
  }
}
int main() {
  int cn, n = 1;
  scanf("%d", &cn);
  for (int t = 1; t <= cn + 1; t++) n *= 2;
  n--;
  for (int t = 2; t <= n; t++) scanf("%d", &a[t]);
  printf("%d", reckol(1, n));
  return 0;
}
