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]);
            }
        }
    }

}