#include <bits/stdc++.h>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int n, k;
int v[20];
bool ok(int i)
{
for(int j=1; j < i; j++)
if(v[j]==v[i])
return false;
if(i > 1)
if(v[i] <= v[i-1])
return false;
return true;
}
bool sol(int i)
{
return i == k;
}
void afis()
{
for(int i=1; i <= k; i++)
fout << v[i] << " ";
fout << '\n';
}
void backtrack(int i)
{
for(int j=1; j <= n; j++)
{
v[i]=j;
if(ok(i))
{
if(sol(i))
afis();
else
backtrack(i+1);
}
}
}
int main()
{
fin >> n >> k;
backtrack(1);
return 0;
}