#include <iostream>
#include <vector>
using namespace std;
const int N = 50;
int n , m;
vector<int> path;
bool st[N];
void dfs(int start)
{
if( path.size() == m)
{
for(int i=0; i<m; i++) cout<<path[i]<<" ";
puts("");
return;
}
for(int i = start; i<=n; i++)
{
if(!st[i])
{
st[i] = true;
path.push_back(i);
dfs(i+1);
path.pop_back();
st[i] = false;
}
}
}
int main()
{
cin>>n>>m;
dfs(1);
}