#include<stdio.h>
#include<stdlib.h>

typedef struct node{
    int data;
    struct node *prev;
    struct node *next;
}Node;
Node *head = NULL;

Node *create(int num){
    Node* newnode = (Node*)malloc(1 * sizeof(Node));
    newnode->data = num;
    newnode->prev = newnode->next = NULL;
    if(head==NULL){
        head->next = newnode;
        head = newnode;
    }
    else{
        newnode->next = head->next;
        head->next = newnode;
    }
}

void deleteval(int val){
    Node* temp = head;
    Node* first,*second;
    Node* newnode;
    
    if(head==NULL){
        return;
    }
    if(val==head->data){
        head = head->next;
        newnode->next;
    }
    else{
        while(second!=NULL){
            if(val==head->data){
                first->next = newnode;
                temp = temp->next;
            }
            else{
                first = first->next;
                second = second->next;
            }
            first->prev->next = first->next->prev;
            second->next = first->next;
        }
    }
    
}
void display(){
    struct node *itr;
    for(itr=head; itr!=NULL; itr = itr->next){
        printf("%d ",itr->data);
    }
}
int main(){
    int size;
    scanf("%d",&size);
    if(size<0){
        printf("Invalid input");
        return 0;
    }
    int num;
    for(itr = 1; itr<=size; itr++){
        scanf("%d",&num);
        create(num);
    }
    int val;
    scanf("%d",&val);
    deleteval(val);
    display();
    return 0;
}