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