Duyệt sinh các chỉnh hợp 1
Point: 100.0
Time limit: 1.5s
Memory limit: 98 M
Input: stdin
Output: stdout
Author:  
Problem type
Ngôn ngữ cho phép
C, C#, C++, Java, Pascal, Python, Text

Theo định nghĩa toán học, chỉnh hợp chập \(k\) của \(n\) phần tử là một bộ sắp thứ tự gồm \(k\) phần tử khác nhau của tập hợp gồm \(n\) phần tử. Ví dụ cho \(X = (1,2,3)\) thì các chỉnh hợp chập \(2\) của \(X\)\((1,2),(1,3),(2,1), (2,3), (3,1), (3,2)\).

Với bài tập này bạn hãy liệt kê các chỉnh chập \(k\) của \(n\) phần tử \(X = (1,2,...,n)\).

Input Specification

  • Một dòng gồm \(k\)\(n (1 ≤ k ≤ n ≤ 10)\)

Output Specification

  • Mỗi dòng in một chỉnh hợp, các chỉnh hợp in theo thứ tự từ điển.

Sample Input

2 3

Sample Output

1 2
1 3
2 1
2 3
3 1
3 2