#include<stdio.h>
#include<stdlib.h>

typedef struct Node{
    int data;
    struct Node *prev;
    struct Node *next;
}node;

node *head = NULL, *tail;

void creation(int num){
    node *newNode = (node*) malloc (1 * sizeof(node));
    newNode->prev = NULL;
    newNode->data = num;
    newNode->next = NULL;
    if(head == NULL){
        head=newNode;
        tail=newNode;
    }
    else{
        newNode->prev = tail;
        tail->next = newNode;
        tail = newNode;
    }
}

void deletion(int val){
    node *iter = head->next;
    if(head->data == val){
        head = head->next;
        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 *current;
    for(current = head;current!=NULL;current=current->next){
        printf("%d ",current->data);
    }
   
}

int main(){
    int size,itr,num,val;
    if(scanf("%d",&size) != 1 || size<0){
        printf("Invalid input");
        return 0;
    }
    for(itr=1;itr<=size;itr++){
        scanf("%d",&num);
        creation(num);
        
    }
    scanf("%d",&val);
    deletion(val);
    if(itr == NULL){
        printf("Node not found");
    }
    else{
        display();
    }
}