#include <stdio.h>

typedef struct Node {
    int val;
    struct Node* next;
}node;

int main() {
    int n, k;
    while (scanf("%d %d", &n, &k) != EOF) { // 注意 while 处理多个 case
        // 64 位输出请用 printf("%lld") to 
        int t;
        node* head = (node*)malloc(sizeof(node));
        node* pre = head;
        for (int i = 0; i < n; i++) {
            scanf("%d", &t);
            if (i==0) {
                head->val = t;
            } else {
                pre->next = (node*)malloc(sizeof(node));
                pre->next->val = t;
                pre = pre->next;
            }
        }
        pre->next = NULL;
        pre = head;
        for(int i = 0; i< k-1;i++) {
            pre = pre->next;
        }
        node* tmp = pre->next;
        pre->next = (node*)malloc(sizeof(node));
        pre->next->val = k;
        pre->next->next = tmp;
        while(head) {
            printf("%d ", head->val);
            head = head->next;
        }

    }
    return 0;
}