Cho một tập hợp \(A\) gồm \(n\) số nguyên đôi một khác nhau. Một chỉnh hợp không lặp chập \(k\) là một dãy gồm \(k\) phần tử khác nhau lấy từ \(A\), trong đó thứ tự các phần tử có ý nghĩa (dãy \((1, 4)\) và \((4, 1)\) là hai chỉnh hợp khác nhau).
Hãy liệt kê toàn bộ các chỉnh hợp không lặp chập \(k\) của \(A\) và đếm xem có bao nhiêu chỉnh hợp.
Input
- Dòng đầu chứa hai số nguyên \(k\) và \(n\).
- Dòng thứ hai chứa \(n\) số nguyên phân biệt là các phần tử của \(A\), mỗi số có giá trị tuyệt đối không quá \(5 \cdot 10^9\).
Output
- In mỗi chỉnh hợp trên một dòng (các phần tử cách nhau một dấu cách). Các chỉnh hợp được in theo thứ tự từ điển tăng dần (so sánh theo giá trị số).
- Dòng cuối cùng in số lượng chỉnh hợp đã liệt kê.
Constraints
- \(1 \le k \le n \le 8\)
- Các phần tử của \(A\) đôi một khác nhau, \(|A_i| \le 5 \cdot 10^9\)
Sample Input
2 3
8 -2 5
Sample Output
-2 5
-2 8
5 -2
5 8
8 -2
8 5
6
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.