// editor5
#include<stdio.h>
#include<stdlib.h>
int insert(int value,int pos,int size);
int create(int value);
int display();
typedef struct Node
{
    int data;
    struct Node *next;
}node;

node *head=NULL;
node *tail=NULL;
node *newnode=NULL;

int main(){
    int size,i,value,val,pos;
    scanf("%d",&size);
    for(i=0;i<size;i++){
        scanf("%d",&value);
        create(value);
    }
    scanf("%d",&val);
  
    if( !(scanf("%d",&pos)) || pos<1 || pos>size+1)
    {
        printf("Invalid input");
        return 0;
    }
    insert(val, pos,size);
    display();
}
int create(int value)
{
    newnode=(node*)malloc(sizeof(node));
    newnode->next=NULL;
    newnode->data=value;
    if(head==NULL)
    {
        head=newnode;
        tail=newnode;
        
    }
    else{
        tail->next=newnode;
        tail=newnode;
        
    }
}

int display()
{
    node *tem;
    for(tem=head;tem!=0;tem=tem->next)
    {
        printf("%d ",tem->data);
    }
}

int insert(int value,int pos,int size)
{
    newnode=(node*)malloc(sizeof(node));
    newnode->next=NULL;
    newnode->data=value;
   
    if(pos==1){
        newnode->next=head;
        head=newnode;
        return 0;
    }
   else if(size+1 == pos)
   {
       tail->next = newnode;
       tail =newnode;
   }
   else {
       int cnt =1;
       node *itr =head;
       while(1){
           if(cnt+1 ==pos)
           {
               newnode->next =itr->next;
               itr->next=newnode;
               break;
           }
       }
   }
}