Cho một đồ thị vô hướng, hãy tìm một tập phủ đỉnh nhỏ nhất. Nghe điên rồ phải không?
Gọi $M$ là kích thước của bộ ghép cực đại, và $C$ là kích thước của tập phủ đỉnh nhỏ nhất. Nếu tập phủ đỉnh nhỏ nhất là "smol", nghĩa là $C \le M + 1$, hãy tìm nó.
Dữ liệu vào
Mỗi bài kiểm tra chứa nhiều bộ dữ liệu. Dòng đầu tiên chứa số lượng bộ dữ liệu $T$ ($1 \le T \le 10^4$).
Mô tả các bộ dữ liệu như sau:
Dòng đầu tiên của mỗi bộ dữ liệu chứa hai số nguyên $n$ và $m$ ($1 \le n \le 500$, $0 \le m \le \frac{n(n-1)}{2}$) — số lượng đỉnh và số lượng cạnh trong đồ thị.
$m$ dòng tiếp theo mô tả các cạnh của đồ thị, mỗi dòng chứa hai số nguyên $u$ và $v$ ($1 \le u < v \le n$) — các đỉnh được nối với nhau bởi một cạnh. Các đỉnh được đánh số từ $1$ đến $n$.
Đảm bảo rằng đồ thị không chứa đa cạnh.
Đảm bảo rằng tổng của $n^2$ trên tất cả các bộ dữ liệu không vượt quá $250\,000$.
Dữ liệu ra
Với mỗi bộ dữ liệu, nếu tập phủ đỉnh nhỏ nhất là "smol", hãy in kích thước $C$ của nó trên dòng đầu tiên, và sau đó in $C$ đỉnh khác nhau cách nhau bởi dấu cách tạo thành một tập phủ đỉnh trên dòng thứ hai. Nếu không, hãy in "not smol" trên một dòng duy nhất (không bao gồm dấu ngoặc kép).
Nếu có nhiều tập phủ đỉnh nhỏ nhất "smol" khả thi, hãy in bất kỳ tập nào trong số đó.
Ví dụ
Dữ liệu vào 1
1 5 5 1 2 2 3 3 4 4 5 1 5
Dữ liệu ra 1
3 2 3 5
Dữ liệu vào 2
2 3 0 5 10 1 2 1 3 1 4 1 5 2 3 2 4 2 5 3 4 3 5 4 5
Dữ liệu ra 2
0 not smol
Ghi chú
Tập phủ đỉnh là một tập hợp các đỉnh sao cho với mỗi cạnh, ít nhất một trong hai đầu mút của nó thuộc về tập hợp đó.
Bộ ghép là một tập hợp các cạnh sao cho không có hai cạnh nào trong đó có chung đầu mút.
Lưu ý rằng một tập phủ đỉnh nhỏ nhất sẽ không được chấp nhận là câu trả lời đúng nếu nó không phải là "smol".