import java.util.*;
public class Main
{
static int N, M;
static int[] arr;
static boolean[] visit;
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
N = input.nextInt();
M = input.nextInt();
arr = new int[N];
visit = new boolean[N + 1];
recursion(0);
}
public static void recursion(int idx) {
if (idx == M){
for(int i = 0; i < M; i++){
System.out.print(arr[i] + " ");
}
System.out.println();
return;
}
for(int i = 1; i <= N; i++){
if(!visit[i]){
arr[idx] = i;
visit[i] = true;
recursion(idx + 1);
for(int j = i + 1; j <= N; j++){
visit[j] = false; // 2 -> 3 false 만듦, 1 -> 2,3 false 만듦
}
}
}
}
}