#include <stdio.h>
#include <stdlib.h>
struct node{
    int data;
    struct node* next;
}node;
struct node* createNode(int data)
{
    struct node* newnode=(struct node*)malloc(sizeof(struct node));
    newnode->data=data;
    newnode->next=NULL;
    return newnode;
}
int main()
{
    int n,k;
    scanf("%d",&n);
    struct node* head=NULL,*tail=NULL;
    for(int i=0;i<n;i++)
    {
        int val;
        scanf("%d",&val);
        struct node* newnode=createNode(val);
        if (head=NULL)
        {
            head=tail=newnode;
        }
        else
        {
            tail->next=newnode;
            tail=newnode;
        }
    }
    scanf("%d",&k);
    if(k>n)
    {
        printf("Invalid input");
        return 0;
    }
    else if(k==n)
    {
        printf("List is empty");
        return 0;
    }
    struct node* temp=head;
    for(int i=0i<n-k-1;i++)
    {
        temp=temp->next;
    }
    struct node*todelete=temp->next;
    temp->next=NULL;
    while(toDelete)
    {
        struct node* next=toDelete->next;
        fee(toDelete);
    }
    temp=head;
    while(temp)
    {
        printf("%d ",temp->data);
        temp=temp->next;
    }
    return 0;
}