#include <bits/stdc++.h>
using namespace std;
map<int, int> ma;
int re = 0;
int n, m = 1;
int dfs(int r) {
  if (2 * r >= m) return ma[r];
  int a = dfs(2 * r), b = dfs(2 * r + 1);
  if (a < b) swap(a, b);
  re += (a - b);
  return a + ma[r];
}
int main() {
  cin >> n;
  m <<= (n + 1);
  for (int i = 2; i < m; ++i) {
    int x;
    cin >> x;
    ma[i] = x;
  }
  dfs(1);
  cout << re;
  return 0;
}
