#include <stdio.h>
#include <stdlib.h>

typedef struct Node{
    int data;
    struct Node *next,*prev;
}node;

node *head,*tail,*temp,*itr;
int found=0;

node *create(int data){
    node *newnode=(node*)malloc(sizeof(node));
    newnode->data=data;
    newnode->next=newnode->prev=NULL;
    return newnode;
}

void insert(int data){
    if(head==NULL){
        create(data);
        head=newnode;
        tail=head;
    }
    else{
        create(data);
        tail->next=newnode;
        newnode->prev=tail;
        tail=tail->next;
    }
}

void deleted(int key){
    for (itr=head;itr!=tail;itr=itr->next){
        if(itr->data==key){
            temp=itr;
            temp->prev->next=temp->next;
            temp->next->prev=temp->prev;
            temp->next=temp->prev=NULL;
            free(temp);
            found=1;
        }
    }
}


int main(){
    int n,data,key,i;
    scanf("%d",&n);
    if(n<=0||n>=100){
        printf("Invalid input");
        return 0;
    }
    for (i=0;i<n;i++){
        scanf("%d",&data);
        create(data);
    }
    scanf("%d",&key);
    deleted(key);
    for(itr=head;itr<=tail;itr=itr->next){
        printf("%d ",itr->data);
    }
    // if(found==1){
    //     for(itr=head;itr<=tail;itr=itr->next){
    //         printf("%d ",itr->data);
    //     }
    // }
    // else if(found==0){
    //     printf("Node not found");
    // }
    return 0;
}