import java.util.Scanner;
public class Main {
public static int n;
public static int[] arr=new int[n+10];
public static int[] arr2=new int[n+10];
public static boolean[] flag=new boolean[n+10];
public static int[][] arr1=new int[1000][n+10];
public static int count=0;
public static int success;
public static void dfs(int u) {
if(u>n) {
int num=0;
count++;
for(int i=1;i<=n;i++) {
arr1[count][i]=arr[i];
if(arr[i]==arr2[i]) {
num++;
}
}
if(num==n) {
success=count;
}
return;
}
for(int i=1;i<=n;i++) {
if(!flag[i]) {
flag[i]=true;
arr[u]=i;
dfs(u+1);
flag[i]=false;
}
}
}
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
n=scanner.nextInt();
int r=scanner.nextInt();
for(int i=1;i<=n;i++) {
arr2[i]=scanner.nextInt();
}
dfs(1);
int index=success+r;
if(index<=count) {
for(int i=1;i<=n;i++) {
System.out.print(arr1[index][i]+" ");
}
}
}
}