
#include <cstdio>
#include <vector>
using namespace std;
int n, m;
int cnt = 0;
bool visited[10];
vector<int> v;
void dfs(int start);
int main() {
int i, j;
scanf("%d %d", &n, &m);
for (i = 0; i < m; i++) {
visited[i] = false;
}
dfs(0);
return 0;
}
void dfs(int start) {
int i;
if (v.size() == m) {
for (i = 0; i < m; i++) {
printf("%d ", v[i] + 1);
}
printf("\n");
return;
}
for (i = start; i < n; i++) {
if (visited[i]) continue;
if (v.size() < m && !visited[i]) { v.push_back(i); }
else {
v.push_back(i);
visited[i] = true;
}
dfs(i);
visited[i] = false;
v.pop_back();
}
}