There are $$$n$$$ people numbered $$$1$$$ to $$$n$$$, and each of them has a nose length which is a positive integer unknown to you. Each person is either a liar or a truth teller. Truth tellers always tell the truth and liars always lie. It is known that there is at least one liar and there are more truth tellers than liars.
Your goal is to find out all the liars. To do that, you are allowed ask at most 10001 queries. In each query, you choose two distinct indices $$$1 \le a, b \le n$$$, and ask the $$$a^\text{th}$$$ person "What is the length of the $$$b^\text{th}$$$ person's nose?". After answering the question, if the $$$a^\text{th}$$$ person is a liar, their nose length increases by an unknown positive integer, which may be different every time.
Initially, the jury program sends one integer $$$n$$$ ($$$3 \le n \le 10000$$$) — the number of people.
After that, your program can submit queries to the jury program by printing the following line:
After each query, the jury prints an integer $$$x$$$ on one line. Either:
To submit the answer, your program should send the output in the following format (and then exit immediately):
Remember to flush the output after printing a line.
The jury program can be adaptive, which means that the set of liars and the nose lengths may change during interaction, but it's guaranteed that there always exists a valid initial configuration that produces an outcome that is consistent with all the queries.
5 42
? 3 4 ! 2 2 4
3 420 420
? 1 2 ? 3 2 ! 1 2