#include <fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
#define MAX 20
int sol[MAX], n, k;
void back(int i)
{
if(i==k+1){
for(int j=1; j<=k; j++)
fout<<sol[j]<<' ';
fout<<'\n';
}
else
for(int j=sol[i-1]+1; j<=n; j++){
sol[i] = j;
back(i+1);
}
}
void backne(int i)
{
while(i>0){
if(i==k+1){
for(int j=1; j<=k; j++)
fout<<sol[j]<<' ';
fout<<'\n';
i--;
}
if(sol[i]<n){
sol[i]++;
sol[i+1] = sol[i];
i++;
}
else
i--;
}
}
int main()
{
fin>>n>>k;
backne(1);
return 0;
}