#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e6 + 10;
int n,m,cnt,k,pos,j,a[MAXN],b[MAXN],c[MAXN];
map<int,int> mp;
int main() {
cin >> n >> m;
for(int i = 1;i <= n;i++) {
cin >> a[i];
}
do {
cnt ++;
for(int i = 1,j = n - 1;i <= n;i++,j --) {
b[cnt] += a[i] * pow(10,j);
}
}while(next_permutation(a + 1,a + n + 1));
sort(b + 1,b + cnt + 1);
for(int i = 1,j = n - 1;i <= n;i++,j --) {
k += a[i] * pow(10,j);
}
for(int i = 1;i <= cnt;i ++) {
mp[i] = b[i];
if(b[i] == k) {
pos = i;
}
}
int w = mp[pos + m];
while(w) {
j++;
c[j] = w % 10;
w /= 10;
}
for(int i = j;i >= 1;i --) {
cout << c[i] << " ";
}
return 0;
}