This is an interactive problem.
There are distinct points in three-dimensional space. Their coordinates are not given to you.
There exist a plane and a unique integer satisfying all of the following conditions.
- For every , the point lies on .
- The point does not lie on .
- No three distinct points on are collinear.
You may choose a set of point indices and ask whether the selected points lie on one plane. Find using these queries.
Each subtask has a different maximum number of queries. Refer to the restrictions by score group below for details.
Input
At the beginning, the contestant program receives the following integer.
This problem consists of a single test case.
Output
To ask a query, choose an integer and distinct point indices , then print the following line.
Every query must satisfy and . You must flush the output after printing a query.
The interactor prints YES if all selected points lie on one plane, and NO otherwise. This plane does not have to be . In particular, selecting at most three points always results in YES.
After determining the index of the point outside the plane, print the following line.
You must flush the output after printing the final answer.
If your program exceeds a query limit specified by the problem or prints an invalid command, the interactor prints -1 and terminates. Your program must terminate immediately after reading -1.
Constraints
- .
- .
- and are distinct points. (.)
- No three distinct points on are collinear.
- All point indices printed in one query must be distinct.
- The sum of over all queries must not exceed .
- At most queries may be used.
Subtasks
Samples
이 예시에서 점들의 실제 좌표가 다음과 같다고 하자. 단, 이 좌표들은 설명을 위한 것으로 참가자의 프로그램에는 공개되지 않는다.
은 모두 평면 위에 있고, 이 중 서로 다른 세 점은 일직선 위에 있지 않다. 반면 는 위에 있지 않으므로, 찾아야 하는 점의 번호는 이다.
위 예시는 입출력이 어떤 방식으로 이루어지는지 이해를 돕기 위해 의도적으로 개행 간격 등을 조절한 것으로, 실제 입출력과는 다르다.