Este es un problema interactivo.
Dado un entero positivo $n$, el juez generará una secuencia 01 desconocida $a_1,a_2,\dots,a_n$ de longitud $n$. Puedes hacer como máximo $17$ preguntas al juez para determinar el número de 1 en esta secuencia 01, es decir, $\sum\limits_{i=1}^n a_i$. Se garantiza que hay al menos un 1.
En cada pregunta puedes elegir varias posiciones $i_1,i_2,\dots,i_k$. Sea $I=\{i_1,i_2,\dots,i_k\}$; el juez devolverá el valor de $(\sum\limits_{j\in I} a_j) \cdot (\sum\limits_{j\notin I} a_j)$.
Entrada
La primera línea contiene un entero positivo $n$ $(1\le n\le 10^5)$, que indica la longitud de la secuencia 01.
Interacción
Para hacer una pregunta, imprime una línea con el siguiente formato (sin incluir las comillas):
? k i_1 i_2 ... i_k $(1\le k\le n,1\le i_1< i_2< \dots< i_k\le n)$.
Para dar la respuesta, imprime una línea con el siguiente formato (sin incluir las comillas):
! s, donde $s=\sum\limits_{i=1}^n a_i$.
La propia salida de la respuesta no cuenta como una pregunta.
El interactor no es adaptativo: la respuesta ya está fijada antes de que el participante haga cualquier pregunta y no depende de las preguntas que haga el participante.
Después de imprimir cada pregunta, no olvides imprimir un salto de línea y vaciar el búfer de salida.
Puedes usar las siguientes instrucciones para vaciar el búfer:
- En C/C++:
fflush(stdout) - En C++:
std::cout << std::flush - En Java:
System.out.flush() - En Python:
sys.stdout.flush()
Ejemplos
Entrada 1
3 2
Salida 1
? 2 1 3 ! 3
Entrada 2
3 0 0
Salida 2
? 1 1 ? 1 2 ! 1
Nota
La secuencia oculta del primer ejemplo es $[1,1,1]$, y la del segundo ejemplo es $[0,1,0]$.