#include<bits/stdc++.h>
using namespace std;
int n,m,box[100];//n个数选m个数进行组合
bool st[100];
void dfs(int x)//来到第x个盒子
{
//出口
if(x==m+1){
for(int i=1;i<=m;i++) cout<<setw(3)<<box[i];
cout<<endl;
return;
}
for(int i=box[x-1]+1;i<=n;i++)//暴力枚举所有的数 + 不降原则(去重)
{
if(st[i]==0){
st[i]=1;
box[x]=i;
dfs(x+1);
st[i]=0;//回溯:第x个盒子将要填其他数子,将数字先还原
}
}
}
int main()
{
cin>>n>>m;
dfs(1);
return 0;
}