Đây là bài toán tương tác.
Chúng tôi đã giấu một đồ thị vô hướng $G$ gồm $n$ đỉnh. Đồ thị được đảm bảo liên thông và không có cạnh bội hay khuyên.
Bạn có thể thực hiện tối đa 60 truy vấn có dạng sau:
- Xét một tập con $S$ của tập đỉnh của $G$. Đồ thị con cảm sinh bởi $S$ có bao nhiêu cạnh? Nói cách khác, có bao nhiêu cạnh trong $G$ có cả hai đầu mút thuộc $S$?
Mục tiêu của bạn là xác định xem đồ thị này có chu trình Euler hay không. Chu trình Euler là một đường đi trong đồ thị đi qua mỗi cạnh đúng một lần, bắt đầu và kết thúc tại cùng một đỉnh.
Lưu ý rằng đồ thị $G$ được cố định trước khi bắt đầu tương tác. Nói cách khác, trình tương tác không thích nghi theo truy vấn.
Dữ liệu vào
Dòng đầu tiên chứa một số nguyên $n$ ($3 \le n \le 10^4$), là số đỉnh của $G$. Đảm bảo rằng $G$ có không quá $10^5$ cạnh, liên thông và không có cạnh bội hay khuyên.
Giao tiếp
Bạn bắt đầu tương tác bằng cách đọc một dòng chứa số nguyên $n$.
Để biết số cạnh trong đồ thị con của $G$ cảm sinh bởi $k$ đỉnh $x_1,x_2,\ldots,x_k$, in một dòng theo định dạng ? k x1 x2 ... xk ($0 \le k \le n$, $1 \le x_i \le n$, mọi $x_i$ đôi một khác nhau).
Để trả lời, chương trình của ban giám khảo sẽ in một dòng chứa một số nguyên $m$: số cạnh như vậy.
Nếu truy vấn không hợp lệ hoặc bạn thực hiện quá 60 truy vấn, chương trình của ban giám khảo sẽ in $-1$ rồi kết thúc tương tác. Bạn sẽ nhận kết quả “Sai đáp án”. Hãy kết thúc chương trình ngay lập tức để tránh nhận kết quả khác.
Khi đã xác định đồ thị có chu trình Euler hay không, in một dòng duy nhất: ! YES nếu chu trình như vậy tồn tại, và ! NO nếu không tồn tại.
Sau khi in mỗi dòng, đừng quên in ký tự xuống dòng và đẩy hết bộ đệm đầu ra. Nếu không, bạn sẽ nhận kết quả “Vượt quá giới hạn không hoạt động”.
Ví dụ
Dữ liệu vào 1
3 1 0
Dữ liệu ra 1
? 2 1 2 ? 2 1 3 ! NO
Ghi chú
Đồ thị ẩn trong ví dụ gồm $3$ đỉnh và các cạnh $(2,1)$ và $(2,3)$.