#include<bits/stdc++.h>
using namespace std;
int n , m , a[10005] , visit[10005] , ans[10005] , step , flag;
inline void dfs(int x){
if(flag==1) return;
if( x==n+1 ){
step++;
if(step==m+1){
flag = 1;
for(int i=1;i<=n;i++) cout << a[ ans[i] ] << " ";
}
return;
}
for(int i=1;i<=n;i++){
if( visit[i]==0 ){
visit[i] = 1;
ans[x] = i;
dfs(x+1);
visit[i] = 0;
}
}
}
int main() {
cin >> n >> m;
for(int i=1;i<=n;i++) cin >> a[i];
dfs(1);
return 0;
}