import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()) {
int n = scanner.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = scanner.nextInt();
}
int d = scanner.nextInt();
if ( n >= Math.pow(2, d)-1) {
//树的层数至少有d+1
for (int i = (int)Math.pow(2, d-1)-1; i < Math.pow(2, d)-1 ; i++) {
System.out.print(arr[i] + " ");
}
}else if (n >= Math.pow(2, d-1) && n < Math.pow(2, d)-1) {
//树的层数为d
for (int i = (int)Math.pow(2, d-1)-1; i < n; i++) {
System.out.print(arr[i]+" ");
}
}else {
//树的层数小于d
System.out.println("EMPTY");
}
}
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()){
int n = scanner.nextInt();
int[] nodes= new int[n];
for (int i = 0; i < n ;i++) nodes[i] = scanner.nextInt();
int d = scanner.nextInt();
int start = (int) Math.pow(2,d-1)-1;
if (start>=n){
System.out.println("EMPTY");
continue;
}
int len = (int)Math.pow(2,d-1);
for (int i = start; i <start+len ; i++) System.out.print(nodes[i]+" ");
System.out.println();
}
}
}