#include <bits/stdc++.h>
using namespace std;
int ar[2 * 100005];
long long powmod(long long a, long long b, long long c) {
  long long res = 1LL;
  while (b > 0) {
    if (b & 1) res = (res * a) % c;
    a = (a * a) % c;
    b /= 2;
  }
  return res;
}
int a[2052], n;
int maxm[2052];
int ans;
void dfs(int id, int dep) {
  if (dep == n - 1) {
    maxm[id] = max(a[2 * id], a[2 * id + 1]);
    ans += abs(a[2 * id] - a[2 * id + 1]);
    return;
  } else {
    dfs(2 * id, dep + 1);
    dfs(2 * id + 1, dep + 1);
    maxm[id] = max(maxm[2 * id] + a[2 * id], maxm[2 * id + 1] + a[2 * id + 1]);
    ans += abs(maxm[2 * id] + a[2 * id] - maxm[2 * id + 1] - a[2 * id + 1]);
  }
}
int main() {
  int t, i, j, m, k;
  cin >> n;
  int tot = 1 << (n + 1);
  tot -= 2;
  a[1] = 0;
  ans = 0;
  for (i = 2; i <= tot + 1; ++i) scanf("%d", &a[i]);
  dfs(1, 0);
  cout << ans << endl;
  return 0;
}
