// editor4
#include<stdio.h>
#include<stdlib.h>
#include<
typedef struct node{
    int data;
    struct node* next;
}node;
node* createnode(int data) 
{
    node* newnode = (node*)malloc(sizeof(node));
    if (newnode == NULL)
    {
        printf("Memory allocation failed\n");
        exit(1);
    }
    newnode->data = data;
    newnode->next = NULL;
    return newnode;
}
void deletevalue(node**head,int value){
    node* temp = *head;
    node* prev = NULL;
    if (temp != NULL && temp->data == value) {
        *head = temp->next;
        free(temp);
        return;
    }
    while (temp != NULL && temp->data != value) {
        prev = temp;
        temp = temp->next;
    }
    if (temp == NULL) {
        printf("Value not found\n");
        exit(1);
    }
    prev->next = temp->next;
    free(temp);
}
void printlist(node*head)
{
    while(head!=NULL)
    {
        printf("%d ",head->data);
        head=head->next;
    }
}
int main(){
    int n;
    scanf("%d",&n);
    node* head=NULL;
    node* tail=NULL;
    int value;
    for(int i=1;i<=n;i++){
        scanf("\n%d",&value);
        node* newnode=createnode(value);
        if(head==NULL){
            head=tail=newnode;
        }
        else{
            tail->next=newnode;
            tail=newnode;
        }
        if(!isdigit(value)){
            printf("Invalid input\n");
            return 0;
        }
    }
    int val;
    scanf("%d",&val);
    deletevalue(&head,val);
    printlist(head);

}