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