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