import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt();
int len = (int) (Math.pow(2, n) - 1);
int[] a = new int[len];
for (int i = 0; i < a.length; i++)
a[i] = sc.nextInt();
int one = sc.nextInt();
int two = sc.nextInt();
int indexOne = -1;
int indexTwo = -1;
for (int i = 0; i < len; i++) {
if (a[i] == -1)
continue;
if (a[i] == one)
indexOne = i;
if (a[i] == two)
indexTwo = i;
}
if (indexOne == -1 || indexTwo == -1)
System.out.println(-1);
else {
indexOne = Math.min(indexOne, indexTwo) + 1;
indexTwo = Math.max(indexOne, indexTwo) + 1;
int cenOne = 0;
int cenTwo = 0;
int temSum = 0;
for (int i = 0; i < n; i++) {
int now = (int) Math.pow(2, i);
if (temSum < indexOne && (temSum + now) >= indexOne)
cenOne = i + 1;
if (temSum < indexTwo && (temSum + now) >= indexTwo)
cenTwo = i + 1;
temSum += now;
}
while (cenOne != cenTwo) {
cenTwo--;
indexTwo /= 2;
}
while (indexOne != indexTwo) {
indexOne /= 2;
indexTwo /= 2;
}
System.out.println(a[indexOne - 1]);
}
}
}
}