import java.util.*;
public class Unlock {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int k = sc.nextInt();
int[] arr = new int[N];
HashMap<Integer,Integer> m = new HashMap<>();
int count = 0;
for(int i=0;i<N;i++) {
arr[i] = sc.nextInt();
m.put(arr[i], i);
}
for(int i=N;i>=1;i--) {
if (k>0){
int init = m.get(i);
int best = N-i;
if(init != best) {
m.put(i, best);
int element = arr[best];
m.put(element, init);
swap(arr[best],arr[init]);
k--;
}
}
}
for(int i=0;i<N;i++) {
System.out.print(arr[i]+" ");
}
}
public static void swap(int i,int j) {
int temp;
temp = i;
i = j;
j = temp;
}
}
//sir im getting wrong output please suggest any changes