// editor1
#include<stdio.h>
#include<stdlib.h>
typedef struct Node{
    int data;
    struct Node *next;
    struct Node *prev;
}nd;
nd *head=NULL,*tail;
void create(int num){
    nd *newnode=(nd*)malloc(1*sizeof(nd));
    newnode->data=num;
    newnode->next=NULL;
    newnode->prev=NULL;
    if(head==NULL){
        head=newnode;
        tail=newnode;
    }
    else{
        newnode->prev=tail;
        tail->next=newnode;
        tail=newnode;
     
    }
}
void display(){
    nd *itr;
    for(itr=head;itr!=NULL;itr=itr->next){
        printf("%d ",itr->data);
    }
}
nd *first,*second;
void del(int x){
      if(head==NULL)
        return 0;
        int found=0;
        first=head;
        second=head->next;
        if(first->data==x){
            found=1;
            head=head->next;
            head->prev=NULL;
            free(first);
            return -1;
        }else{
            while(second!=NULL){
                if(second->data==x){
                    found=-1;
                    first->next=second->next;
                    if(second->next!=NULL){
                        second->next->prev=first;
                    }else
                       tail=first;
                       free(second);
                       return 1;
                        
                    }
                    first=first->next;
                    second=second->next;
                }
            }
}
    
}
int main(){
    int n,num,x;
    nd *root=NULL;
    scanf("%d",&n);
    if(n<=0){
        printf("Node not found");
        return 0;
    }
    for(int i=0;i<n;i++){
      scanf("%d",&num);
      create(num);
    }
   scanf("%d",&x);
    int res=del(x);
    if(res==0){
        printf("Node not found");
        return 0;
    }else
      display();
      return 0;
}