#include<iostream>
#include<fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int st[10],n,k,p;
int init()
{
st[k]=0;
}
int sucesor()
{
if (st[k]<n)
{
st[k]++;
return 1;
}
else
{
return 0;
}
}
int valid()
{
if (st[k]>st[k-1])
{
return 1;
}
else
{
return 0;
}
}
int solutie()
{
return k==p;
}
int tipar()
{
for (int i=1;i<=k;i++)
{
fout<<st[i]<<" ";
}
fout<<endl;
}
int bkt()
{
int as;
k=1;
init();
while (k>0)
{
do{}
while ((as=sucesor()) && !valid());
if (as)
{
if (solutie())
{
tipar();
}
else
{
k++;
init();
}
}
else
{
k--;
}
}
}
int main ()
{
fin>>n;
fin>>p;
bkt();
return 0;
fin.close();
fout.close();
}