Có $m$ vị trí tuyển dụng trong công ty của chúng tôi và $n \ge m$ ứng viên cho các vị trí này. Rõ ràng là chúng tôi muốn tuyển những ứng viên tốt nhất. Chúng tôi không thể tuyển cùng một ứng viên cho hai hoặc nhiều vị trí khác nhau, vì vậy chúng tôi phải tuyển chính xác $m$ ứng viên. Hãy gọi cách chọn các ứng viên khác nhau cho mỗi vị trí là một phân công. Hai phân công được coi là khác nhau nếu tồn tại một vị trí mà chúng tôi tuyển các ứng viên khác nhau trong các phân công đó.
Có một ma trận lợi nhuận $A$: $A_{ij} \ge 0$ biểu thị lợi nhuận chúng tôi sẽ thu được từ việc tuyển ứng viên thứ $j$ cho vị trí thứ $i$. Chúng tôi muốn tối đa hóa tổng lợi nhuận thu được từ tất cả các lần tuyển dụng. Một phân công là tối ưu nếu nó tối đa hóa tổng lợi nhuận.
Việc chọn các ứng viên tốt nhất sẽ rất dễ dàng nếu đã biết ma trận $A$. Thật không may, thế giới nhân sự không đơn giản như vậy và họ không thể cung cấp ma trận $A$ cho bạn. Ngay cả sau khi phỏng vấn tất cả các ứng viên, chúng tôi chỉ có thể so sánh cách hai ứng viên thể hiện ở cùng một vị trí. Cụ thể hơn, chúng tôi biết $m$ hoán vị $P_i$ có độ dài $n$. Với mọi $1 \le i \le m$, $1 \le x < y \le n$: $A_{iP_{ix}} > A_{iP_{iy}}$. Nói một cách dễ hiểu, đối với mỗi vị trí, chúng tôi biết thứ hạng của tất cả các ứng viên.
Một ứng viên được gọi là tiềm năng nếu và chỉ nếu tồn tại một ma trận $A$ phù hợp với tất cả các thứ hạng đã cho, sao cho đối với ma trận này, chỉ có duy nhất một phân công tối ưu và ứng viên cụ thể này được tuyển dụng.
Bạn cần tìm tất cả các ứng viên tiềm năng để chúng tôi có thể tiến hành kiểm tra kỹ lưỡng hơn với họ.
Dữ liệu vào
Dòng đầu tiên chứa hai số nguyên $n$ và $m$ ($1 \le m \le 11$, $m \le n \le 1000$) — số lượng ứng viên và số lượng vị trí.
$m$ dòng tiếp theo chứa thứ hạng cho mỗi vị trí. Dòng thứ $i$ chứa một hoán vị $P_{i1}, P_{i2}, \dots, P_{in}$ của các số từ $1$ đến $n$.
Dữ liệu ra
Dòng đầu tiên in ra số lượng ứng viên tiềm năng, dòng thứ hai in ra chỉ số của các ứng viên tiềm năng theo thứ tự tăng dần.
Ví dụ
Dữ liệu vào 1
4 2 1 2 4 3 1 3 4 2
Dữ liệu ra 1
3 1 2 3
Dữ liệu vào 2
4 2 1 4 3 2 2 3 4 1
Dữ liệu ra 2
2 1 2