#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
typedef struct node
{
	int nval;
	struct node* next;
}node;
node* creat(int x)
{
	node* head = (node*)malloc(sizeof(node));
	assert(head);
	head->next = NULL;
	head->nval = 0;
	node* p = head;
	for (int i = 0; i < x; i++)
	{
		int n;
		scanf("%d", &n);
		node* newNode = (node*)malloc(sizeof(node));
		assert(newNode);
		newNode->nval = n;
		newNode->next = NULL;
		p->next = newNode;
		p = p->next;
	}
	return head->next;
}
void insertnode(node* p, int n)
{
	node* p1 = p;
	for (int i = 1; i < n; i++)
	{
		p1 = p1->next;
	}
	node* newNode = (node*)malloc(sizeof(node));
	newNode->nval = n;
	newNode->next = NULL;
	newNode->next = p1->next;
	p1->next = newNode;
}
int main()
{
	int m, n;
	scanf("%d %d", &m, &n);
	node* head1 = creat(m);
	insertnode(head1, n);
	node* head2 = head1;
	while (head2 != NULL)
	{
		printf("%d ", head2->nval);
		head2 = head2->next;
	}
	return 0;
}