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