Este problema é interativo.
Escondemos de você um grafo não direcionado $G$ com $n$ vértices. É garantido que ele é conexo e não contém arestas múltiplas nem laços.
Você pode fazer até 60 consultas da seguinte forma:
- Considere um subconjunto $S$ do conjunto de vértices de $G$. Quantas arestas existem no subgrafo induzido por $S$? Em outras palavras, quantas arestas de $G$ têm ambas as extremidades em $S$?
Seu objetivo é determinar se existe um ciclo euleriano nesse grafo. Um ciclo euleriano é um percurso no grafo que passa por cada aresta exatamente uma vez e começa e termina no mesmo vértice.
Observe que o grafo $G$ é fixado antes do início da interação. Em outras palavras, o interator não é adaptativo.
Entrada
A primeira linha contém um inteiro $n$ ($3 \le n \le 10^4$), o número de vértices de $G$. É garantido que $G$ tem no máximo $10^5$ arestas, é conexo e não contém arestas múltiplas nem laços.
Interação
Comece a interação lendo uma linha com o inteiro $n$.
Para descobrir o número de arestas do subgrafo de $G$ induzido por $k$ vértices $x_1,x_2,\ldots,x_k$, imprima uma linha no formato ? k x1 x2 ... xk ($0 \le k \le n$, $1 \le x_i \le n$, todos os $x_i$ são distintos).
Em resposta, o programa do júri imprimirá uma linha com um inteiro $m$: o número dessas arestas.
Se sua consulta for inválida ou você fizer mais de 60 consultas, o programa do júri imprimirá $-1$ e encerrará a interação. Você receberá o resultado “Resposta incorreta”. Encerre sua solução imediatamente para evitar outros resultados.
Quando determinar se o grafo contém um ciclo euleriano, imprima uma única linha: ! YES se tal ciclo existir e ! NO se não existir.
Após imprimir cada linha, não se esqueça de imprimir o fim de linha e esvaziar o buffer de saída. Caso contrário, você receberá o resultado “Limite de inatividade excedido”.
Exemplos
Entrada 1
3 1 0
Saída 1
? 2 1 2 ? 2 1 3 ! NO
Nota
O grafo oculto no exemplo tem $3$ vértices e as arestas $(2,1)$ e $(2,3)$.