#include<iostream>
using namespace std;
int a[15]; //存数
bool b[15]={0};//记录使用
int n,k;
void duiwu(int x,int n,int k)
{
if(x==k)//够了,该输出了
{
for(int i=0;i<k;i++)
cout<<a[i]<<" ";
cout<<endl;
return;
}
for(int i=1;i<=n;i++)
{
if(b[i])
continue;
int m=0;//判断重复
for(int j=0;j<x;j++)
if(a[j]==i)
m=1;
if(m)
continue;
a[x]=i;
b[i]=1;
duiwu(x+1,n,m);
a[x]=0;
b[i]=0;//回溯
}
}
int main()
{
cin>>n>>k;
duiwu(0,n,k);
return 0;
}