#include<stdio.h>
#include<stdlib.h>

typedef struct node{
    int data;
    struct node *prev;
    struct node *next;
    
}Node;

 Node *head=NULL,*tail=NULL;

void create(int val){
    Node *newnode = (Node*)malloc(sizeof(Node));
    
    newnode->data=val;
    newnode->next=NULL;
    newnode->prev=NULL;
    
    if(head==NULL){
        head=tail=newnode;
    }
    else{
       tail->next=newnode;
       newnode->prev=newnode;
       tail=newnode;
    }
    
}
void deleteByVal(int key){
    Node *prev;
     Node *temp=head;

    if(head->data==key){
        head=head->next;
        head->prev=NULL;
    }
    else if(tail->data==key){
        
        tail=tail->prev;
        tail->next=NULL;
    }
    else{
        Node *i;
        for(i=head ; i->data==Key ; i=i->next)
       if(temp->data==key);
        temp->prev->next=temp->next;
        temp->next->prev=temp->prev;
       
    }

}

void display(){
    
    Node *temp=head;
    while(temp!=NULL){
        printf("%d ",temp->data);
        temp=temp->next;
    }
}

int main(){
    int n,val,jkey;
    scanf("%d",&n);
    
    for(int i=0 ;i<n;i++){
        scanf("%d",&val);
        create(val);
    }
     scanf("%d",&jkey);
     deleteByVal(jkey);
     display();
    
    return 0;
}