#include<stdio.h>
#include<stdlib.h>
typedef struct Node{
    int data;
    struct Node* next;
}Node;
Node* deleteNodes(Node* head, int max_height){
    Node* temp = head;
    Node* prev = NULL;
    while(temp != NULL && temp->data > max_height){
        Node* toDelete = temp;
        temp = temp->next;
        free(toDelete);
    }
    head = temp;
    prev = NULL;
    while( temp != NULL){
        if(temp->data > max_height){
            prev->next = temp->next;
            free(toDelete);
        }else {
            prev = temp;
            temp = temp->next;
        }
    }
    return head;
}
void printList(Node* head){
    if(head == NULL){
        printf("Empty");
        return;
    }
    while(head != NULL){
        printf("%d ",head->data);
        head = head->next;
    }
}
int main(){
    int n, max_height;
    scanf("%d", &n);
    if(n <= 0){
        printf("Empty");
        return 0;
    }
    Node*head = NULL;
    NOde* temp = NULL;
    for(int i = 0; i < n; i++){
        int val;
        scanf("%d", &val);
        Node* newNode = (Node*)malloc(sizeof(Node));
        newNode->data = val;
        newNode->next = NULL;
        if(head == NULL){
            head = newNode;
            temp = head;
        }else {
            temp->next = newNode;
            temp = temp->next;
        }
    }
    scanf("%d", &max_height);
    head = deleteNodes(head, max_height);
    printList(head);
    return 0;
}