#include<stdio.h>
#include<stdlib.h>

struct Node{
    int data;
    struct Node *next
};

int main(){
    int n, i , val, del;
    struct Node *head = NULL, *temp = NULL, *newNode;
    
    struct Node *prev = NULL;
    
    if(scanf("%d", &n) != 1 || n <= 0){
        printf("List is empty");
        return 0;
    }
    
    for(i = 0; i < n; i++){
        scanf("%d", &val);
        
        newNode = (struct Node *)malloc(sizeof(struct Node));
        newNode->data=val;
        newNode->next=NULL;
        
        if(head == NULL){
            head = newNode;
            temp = head;
        }else{
            temp->next = newNode;
            temp = newNode;
        }
    }
    
    scanf("%d", &del);
    
    if(head == NULL){
        printf("List is empty");
        return 0;
    }
    
    temp = head;
    
    if(temp->data == del){
        head = temp->next;
        free(temp);
    }else{
        while(temp != NULL && temp->data != del){
            prev = temp;
            temp = temp->next;
        }
        
        if(temp == NULL){
            printf("Not found");
            return 0;
        }
        prev->next = temp->next;
        free(temp);
    }
    
    temp = head;
    if(temp != NULL){
        printf("%d", temp->data);
        temp = temp->next;
    }
    
    while(temp != NULL){
        printf(" %d", temp->data);
        temp = temp->next;
    }
    return 0;
}