#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
typedef struct node{
    int data;
    struct node*next;
}node;
node *head=NULL,*tail;
void create(int num){
    node *newnode=malloc(1*sizeof(node));
    newnode->data=num;
    newnode->next=NULL;
    if(head==NULL){
        head=newnode;
        tail=newnode;
    }
    else{
        tail->next=newnode;
        tail=newnode;
    }
}
void display(){
    node*itr;
    for(itr=head;itr!=NULL;itr=itr->next){
        printf("%d ",itr->data);
    }
    
}

void deletevalue(int val){
    node*first,*second;
    first=head;
    second=head->next;
    if(val==head->data){
        node*temp=head;
        head=head->next;
        free(temp);
        return;
    }
while(second!=NULL){
    if(second->data==val){
        first->next=second->next;
        free (second);
        return;
    }else{
        first=second;
        second=second->next;
}
int main(){
    int size,num,itr,val;
    scanf("%d",&size);
    if(size<=0){
    printf("Invalid input");
    return 0;
}
    for(itr=0;itr<size;itr++){
        if(scanf("%d",&num)!=1){
            printf("Invalid input");
            return 0;
        }
        create(num);
    }
scanf("%d",&val);
deletevalue(val);
display();
return 0;
}