This is an interactive problem.
There is a hidden polynomial $$$f(x)=\sum_{i=1}^n a_i\cdot x^{p_i}$$$ where $$$0\le n\le 10^3,1\le a_i\le 10^5$$$, $$$0\le p_i\le 8\cdot 10^6$$$, and $$$p_1,p_2,\dots,p_n$$$ are pairwise distinct.
You can query in the format "$$$?\ x$$$", and the interactor will respond you $$$f(x)\bmod 998\,244\,353$$$.
You need to find the function by no more than $$$2\cdot 10^4$$$ queries.
You can make no more than $$$2\cdot 10^4$$$ queries to guess the polynomial. To make a query, output "$$$?\ x$$$" $$$(0\le x \lt 998\,244\,353)$$$ on a separate line, then you should read the response from standard input.
To give your answer, firstly print "$$$!\ n$$$" on a separate line, where $$$n$$$ indicates the number of monomials. For each monomial $$$a_i\cdot x^{p_i}$$$, print "$$$p_i\ a_i$$$" on a separate line. You can print the $$$n$$$ monomials in an arbitrary order. The output of the answer is not counted towards the limit of $$$2\cdot 10^4$$$ queries.
After that, your program should terminate.
After printing a query, do not forget to output end of line and flush the output. To do this, use fflush(stdout) or cout.flush() in C++, System.out.flush() in Java, flush(output) in Pascal, or stdout.flush() in Python.
It is guaranteed that the polynomial is fixed in advance.
3 4 7
? 0 ? 1 ? 2 ! 2 0 3 2 1
The polynomial in the example is $$$f(x)=x^2+3$$$.