#include<bits/stdc++.h>
using namespace std;
int a[30],flag[30],t[10000],top=0;
int n,r;
void dfs(int dep,int start)
{
if(dep==r+1)
{
for(int j=1;j<=top;j++)
cout<<setw(3)<<t[j];
cout<<endl;
}
else
{
for(int i=start;i<=n;i++)
{
if(!flag[i])
{
flag[i]=true;
t[++top]=i;
dfs(dep+1,i+1);
flag[i]=false;
--top;
}
}
}
}
int main()
{
cin>>n>>r;
dfs(1,1);
return 0;
}