Ця задача інтерактивна.
Ми приховали від вас неорієнтований граф $G$ із $n$ вершинами. Гарантується, що він зв’язний і не містить кратних ребер та петель.
Ви можете зробити щонайбільше 60 запитів такого вигляду:
- Розгляньте підмножину $S$ множини вершин графа $G$. Скільки ребер у підграфі, індукованому $S$? Іншими словами, скільки ребер графа $G$ мають обидва кінці в $S$?
Ваша мета — визначити, чи існує в цьому графі ейлерів цикл. Ейлерів цикл — це шлях у графі, що проходить кожним ребром рівно один раз та починається й закінчується в тій самій вершині.
Зверніть увагу: граф $G$ фіксується до початку взаємодії. Іншими словами, інтерактор неадаптивний.
Вхідні дані
Перший рядок містить одне ціле число $n$ ($3 \le n \le 10^4$) — кількість вершин графа $G$. Гарантується, що $G$ має не більше $10^5$ ребер, є зв’язним і не містить кратних ребер та петель.
Протокол взаємодії
Почніть взаємодію, прочитавши рядок із цілим числом $n$.
Щоб дізнатися кількість ребер у підграфі графа $G$, індукованому $k$ вершинами $x_1,x_2,\ldots,x_k$, виведіть рядок у форматі ? k x1 x2 ... xk ($0 \le k \le n$, $1 \le x_i \le n$, усі $x_i$ різні).
У відповідь програма журі виведе рядок з одним цілим числом $m$ — кількістю таких ребер.
Якщо запит некоректний або ви зробили понад 60 запитів, програма журі виведе $-1$ і завершить взаємодію. Ви отримаєте вердикт «Неправильна відповідь». Негайно завершіть свою програму, щоб уникнути інших вердиктів.
Коли ви визначите, чи містить граф ейлерів цикл, виведіть один рядок: ! YES, якщо такий цикл існує, і ! NO, якщо ні.
Після виведення кожного рядка не забувайте виводити символ нового рядка та очищувати буфер виведення. Інакше ви отримаєте вердикт «Перевищено ліміт бездіяльності».
Приклади
Вхідні дані 1
3 1 0
Вихідні дані 1
? 2 1 2 ? 2 1 3 ! NO
Примітка
Прихований граф у прикладі має $3$ вершини та ребра $(2,1)$ і $(2,3)$.