Zadanie jest interaktywne.
Ukryliśmy przed tobą nieskierowany graf $G$ o $n$ wierzchołkach. Gwarantujemy, że jest spójny i nie zawiera krawędzi wielokrotnych ani pętli.
Możesz zadać co najwyżej 60 zapytań następującej postaci:
- Rozważ podzbiór $S$ zbioru wierzchołków grafu $G$. Ile krawędzi ma podgraf indukowany przez $S$? Innymi słowy, ile krawędzi grafu $G$ ma oba końce w $S$?
Twoim celem jest ustalenie, czy w tym grafie istnieje cykl Eulera. Cykl Eulera to droga w grafie, która przechodzi przez każdą krawędź dokładnie raz oraz zaczyna się i kończy w tym samym wierzchołku.
Zauważ, że graf $G$ jest ustalony przed rozpoczęciem interakcji. Innymi słowy, interaktor nie jest adaptacyjny.
Wejście
Pierwszy wiersz zawiera jedną liczbę całkowitą $n$ ($3 \le n \le 10^4$), oznaczającą liczbę wierzchołków grafu $G$. Gwarantujemy, że $G$ ma co najwyżej $10^5$ krawędzi, jest spójny i nie zawiera krawędzi wielokrotnych ani pętli.
Interakcja
Rozpocznij interakcję od odczytania wiersza z liczbą całkowitą $n$.
Aby poznać liczbę krawędzi w podgrafie grafu $G$ indukowanym przez $k$ wierzchołków $x_1,x_2,\ldots,x_k$, wypisz wiersz w formacie ? k x1 x2 ... xk ($0 \le k \le n$, $1 \le x_i \le n$, wszystkie $x_i$ są różne).
W odpowiedzi program jury wypisze wiersz z jedną liczbą całkowitą $m$: liczbą takich krawędzi.
Jeśli zapytanie jest niepoprawne lub zadasz więcej niż 60 zapytań, program jury wypisze $-1$ i zakończy interakcję. Otrzymasz wynik „Błędna odpowiedź”. Natychmiast zakończ swój program, aby uniknąć innych wyników.
Gdy ustalisz, czy graf zawiera cykl Eulera, wypisz jeden wiersz: ! YES, jeśli taki cykl istnieje, lub ! NO, jeśli nie istnieje.
Po wypisaniu każdego wiersza pamiętaj o znaku końca wiersza i opróżnieniu bufora wyjścia. W przeciwnym razie otrzymasz wynik „Przekroczono limit bezczynności”.
Przykład
Wejście 1
3 1 0
Wyjście 1
? 2 1 2 ? 2 1 3 ! NO
Uwagi
Ukryty graf w przykładzie ma $3$ wierzchołki i krawędzie $(2,1)$ oraz $(2,3)$.