#include <stdio.h>
#include <stdlib.h>
// Define the structure for a linked list node
typedef struct Node{
    int data;
    struct Node* next;
} Node;
// Function to create a new node
Node* createNode(int data) {
    Node* newNode = (Node*)malloc(sizeof(Node));
    if (!newNode){
        printf("Memory error\n");
        return NULL;
    }
    newNode-> data = data;
    newNode-> next = NULL;
    return newNode;
}
// Function to insert a node at end of the linked list
void insertNode(Node** head, int data){
    Node* newNode = createNode(data);
    if (*head == NULL){
        *head = newNode;
    } else {
       Node* temp = *head;
       while (temp->next){
           temp = temp->next;
       }
}
// Function to remove nodes with height greater than max_height
Node* removeNodes(Node* head, int max_height){
    Node* dummy = createNode(0);
    dummy->next = head;
    Node* prev = dummy;
    Node* current = head;
    while (current){
        if (current->data > max_height){
            prev->next = current->next;
            free(current);
            current = prev->next;
        } else {
            prev = current;
            current = current->next;
        }
}
Node* newHead = dummy->next;
free(dummy);
return newHead;
}
// Function to print the linked list
void printList(Node* head){
    if (head == NULL){
        printf("Empty\n");
        return;
    }
    printf("\n");
}
int main(){
    int n, max_height;
    scanf("%d", &n);
    Node* head =NULL;
    for (int i = 0; i < n; i++){
        int height;
        scanf("%d", &height);
        insertNode(&head, height);
    }
    scanf("%d", &max_height);
    head = removeNodes(head, max_height);
    printList(head);
    return 0;
}