#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int n, f[104], a[105], ans = 0, m, k[105], cur = 1;
bool chk(int k){
for(int i = 2;i * i <= k;i ++)
if(k % i == 0)
return false;
return true;
}
void srh(int g){
if(g == m + 1){
for(int i = 1;i <= m;i ++)
cout << ' '<< ' '<<k[i];
cout << endl;
return;
}
for(int i = cur;i <= n;i ++){
if(f[i] == 0){
k[g] = i;
f[i] = 1;
cur = i;
srh(g + 1);
f[i] = 0;
}
}
}
int main(){
memset(f, 0, sizeof(f));
cin >> n >> m;
srh(1);
return 0;
}