In each test case, you can make zero or more queries to learn the colors of grid cells.

To make a query, print a line:
\begin{shortitems}
\item \t{?} $x$ $y$
\end{shortitems}
where $(x, y)$ are the coordinates of the requested cell ($-10^9 \le x, y \le 10^9$). After that, read a line containing one letter: `\texttt{B}' if the cell $(x, y)$ is black, or `\texttt{W}' if the cell $(x, y)$ is white.

Once you are ready to present an 8-connected set of $n$ cells of the same color, print a line:

\begin{shortitems}
\item \t{!} $c$ $x_1$ $y_1$ $x_2$ $y_2$ $\ldots$ $x_n$ $y_n$
\end{shortitems}

where $c$ is a letter denoting the color of the cells in the set (`\texttt{B}' for black and `\texttt{W}' for white), and $(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)$ are the $n$ distinct cells in the set ($-10^9 \le x_i, y_i \le 10^9$). The interactor does not print anything in response to this line.

After printing the set, proceed to the next test case, or terminate the program if this was the last one.

You are allowed to make at most $30\,000$ queries \textbf{in total} over all test cases (not including the lines that print the sets). If you exceed this limit, the interactor will print $0$ instead of its usual response, and your program should terminate immediately to guarantee the ``Wrong Answer'' verdict.

The interactor is not adaptive: all random grids used in the tests have been pre-generated and remain the same across all submissions.