There are $q$ tigers in a nature reserve. To monitor the tigers' positions, radio collars are used. Each tiger's collar emits a unique radio signal. The detection system is configured to receive signals from the $i$-th tiger sequentially for $i$ from $1$ to $q$.
To receive signals, $n$ receivers are installed in the reserve at coordinates $(x_1, y_1), \dots, (x_n, y_n)$. The detection system allows the reserve staff to select any $m$ ($3 \le m \le n$) receivers in a single query. The selected receivers must be the vertices of a convex polygon. The system determines whether the $i$-th tiger's radio collar is inside this polygon.
The reserve staff must localize the position of each tiger. The position of the $i$-th tiger is considered localized if a set of receivers, which are vertices of a convex polygon, has been identified such that the tiger is inside this polygon and no other receivers are inside it.
To localize the position of each tiger, the staff is allowed to make at most $k$ queries.
After the position of the $i$-th tiger is localized, the system automatically switches to receiving signals from the next tiger, until the positions of all $q$ tigers are localized.
It is guaranteed that no three receivers lie on the same line, and no tiger lies on a line passing through two receivers. It is guaranteed that there exists at least one convex polygon with vertices at the receivers inside which the tiger is located.
You are required to write a program that interacts with the jury's program and localizes the position of each tiger.
Interaction
This is an interactive problem.
First, information about the receivers installed in the reserve and the number of tigers is provided as input.
The first line of the input contains an integer $n$ — the number of receivers ($3 \le n \le 5000$). The following $n$ lines describe the coordinates of the receivers; the $j$-th of these lines contains two integers $x_j$ and $y_j$ — the coordinates of the $j$-th receiver ($-10^9 \le x_j, y_j \le 10^9$). The next line contains an integer $q$ — the number of tigers ($1 \le q \le 2000$).
To localize the tigers' positions, you must perform queries to the detection system, which is controlled by the jury's program.
For each test case, a number $k$ is fixed — the maximum number of queries to the detection system to localize the position of one tiger. It is guaranteed that $k$ queries are sufficient to solve the problem for the given data. This number is not provided to your program, but the constraints for it in various subtasks are given in the scoring table. If your program makes more than $k$ queries to determine the location of one of the tigers, it will receive a "Wrong Answer" result for that test.
A query to the detection system starts with the character ?, followed by an integer $m$ — the number of receivers selected in the query ($3 \le m \le n$), and $m$ distinct integers $p_i$ — the indices of the receivers, listed in order of traversal of the polygon clockwise or counter-clockwise ($1 \le p_i \le n$).
In response, the program receives the string Yes if the tiger is inside the polygon formed by the receivers with indices $p_1, \dots, p_m$, and the string No otherwise.
After the tiger's position is localized, the solution program must output a line starting with the character !, followed by an integer $m$ — the number of selected receivers ($3 \le m \le n$), and $m$ distinct integers $p_i$ — the indices of the receivers, listed in order of traversal of the polygon clockwise or counter-clockwise ($1 \le p_i \le n$). This line means that the tiger is inside the convex polygon formed by the receivers with indices $p_1, \dots, p_m$ and no other receivers are inside it.
There is no response message from the jury's program, and the solution program must immediately proceed to search for the next tiger. After localizing the position of the $q$-th tiger, the program must terminate.
Tigers do not move while the detection system is operating. The coordinates of the tigers in each test are fixed and do not change during testing.
If there are multiple correct polygons that localize the tiger's position, any one of them may be output.
Examples
Input 1
6 3 0 0 2 2 4 4 2 5 5 6 1 4 Yes No Yes No No Yes Yes
Output 1
? 3 1 2 3 ! 3 1 2 3 ? 3 1 2 3 ? 4 1 2 3 4 ! 3 4 3 1 ? 5 2 3 5 4 1 ? 3 4 5 6 ! 3 1 4 6 ? 4 1 3 5 6 ? 4 4 3 5 6 ! 4 4 3 5 6
Note
The provided examples illustrate the interaction between the solution program and the jury's program "step-by-step". In actual testing, no extra empty lines will be provided, and you are not required to output extra empty lines.
Subtasks
| Subtask | Points | $n$ | $q$ | $k$ | Required Subtasks |
|---|---|---|---|---|---|
| 1 | 15 | $3 \le n \le 6$ | $1 \le q \le 50$ | $k = 4000$ | |
| 2 | 17 | $3 \le n \le 20$ | $1 \le q \le 50$ | $k = 4000$ | 1 |
| 3 | 9 | $3 \le n \le 60$ | $1 \le q \le 400$ | $k = 4000$ | 1, 2 |
| 4 | 9 | $3 \le n \le 300$ | $1 \le q \le 1000$ | $k = 600$ | 1–3 |
| 5 | 10 | $3 \le n \le 5000$ | $1 \le q \le 10$ | $k = 10\,000$ | |
| 6 | 10 | $3 \le n \le 300$ | $1 \le q \le 1000$ | $k = 250$ | 1–4 |
| 7 | 10 | $3 \le n \le 1000$ | $1 \le q \le 1000$ | $k = 200$ | 1–4, 6 |
| 8 | 10 | $3 \le n \le 1000$ | $1 \le q \le 2000$ | $k = 60$ | 1–4, 6, 7 |
| 9 | 10 | $3 \le n \le 2500$ | $1 \le q \le 2000$ | $k = 40$ | 1–4, 6–8 |