Ce problème est interactif.
Nous avons caché un graphe non orienté $G$ à $n$ sommets. Il est garanti qu’il est connexe et ne contient ni arêtes multiples ni boucles.
Vous pouvez poser au plus 60 requêtes de la forme suivante :
- Considérez un sous-ensemble $S$ de l’ensemble des sommets de $G$. Combien d’arêtes le sous-graphe induit par $S$ contient-il ? Autrement dit, combien d’arêtes de $G$ ont leurs deux extrémités dans $S$ ?
Votre objectif est de déterminer s’il existe un cycle eulérien dans ce graphe. Un cycle eulérien est un parcours du graphe qui passe par chaque arête exactement une fois, et qui commence et se termine au même sommet.
Notez que le graphe $G$ est fixé avant le début de l’interaction. Autrement dit, l’interacteur n’est pas adaptatif.
Entrée
La première ligne contient un entier $n$ ($3 \le n \le 10^4$), le nombre de sommets de $G$. Il est garanti que $G$ possède au plus $10^5$ arêtes, est connexe et ne contient ni arêtes multiples ni boucles.
Interaction
Commencez l’interaction en lisant une ligne contenant l’entier $n$.
Pour connaître le nombre d’arêtes du sous-graphe de $G$ induit par $k$ sommets $x_1,x_2,\ldots,x_k$, affichez une ligne au format ? k x1 x2 ... xk ($0 \le k \le n$, $1 \le x_i \le n$, tous les $x_i$ sont distincts).
En réponse, le programme du jury affichera une ligne contenant un entier $m$ : le nombre de ces arêtes.
Si votre requête est invalide ou si vous posez plus de 60 requêtes, le programme du jury affichera $-1$ et terminera l’interaction. Vous recevrez le verdict « Réponse incorrecte ». Terminez immédiatement votre programme pour éviter d’autres verdicts.
Une fois déterminé si le graphe contient un cycle eulérien, affichez une seule ligne : ! YES si un tel cycle existe, et ! NO sinon.
Après chaque ligne affichée, n’oubliez pas d’afficher la fin de ligne et de vider le tampon de sortie. Sinon, vous recevrez le verdict « Limite d’inactivité dépassée ».
Exemples
Entrée 1
3 1 0
Sortie 1
? 2 1 2 ? 2 1 3 ! NO
Remarque
Le graphe caché dans l’exemple possède $3$ sommets et les arêtes $(2,1)$ et $(2,3)$.