你需要创建一个难以被猜出的秘密整数序列。该序列需满足以下约束:
- 序列的第一个数字必须是 $0$。
- 序列的最后一个数字必须是 $100\,000$。
- 序列中的每个数字必须比前一个数字大 $1$ 或 $2$。
起初,你只需要公布序列的长度。随后,对手将逐个猜测序列中的数字。
- 如果猜测的数字在你的序列中,你必须准确指出它在序列中的位置。
- 如果猜测的数字不在你的序列中,你只需告知它不在序列中。这被视为一次“失误”(miss)。
注意,由于你不必预先写下序列,你可以通过改变你心中所想的序列来“作弊”,只要它不与你目前已透露的信息相矛盾即可。事实证明,在这些条件下,你总是可以迫使对手在猜出你序列中的所有数字之前产生 $33\,333$ 次失误。你的任务就是编写一个能做到这一点的程序。
交互
这是一个交互式问题。
你的程序应首先输出一个整数 $k$ ($2 \le k \le 100\,001$),即你序列的长度,占一行。此后,你将在一行中接收到一个整数 $x$。该整数保证在 $-1$ 到 $100\,000$ 之间(含边界)。
- 如果 $x = -1$,说明对手已经放弃;你的程序应按顺序输出序列中的所有 $k$ 个整数,每行一个,然后退出。对手保证在产生 $33\,333$ 次失误后会给出此输入,但也可能更早给出。在输出所有 $k$ 个整数后,你的程序应退出。如果你输出的序列与之前的回答一致,则该测试用例将被判定为正确。
- 如果 $x$ 不在你的序列中,输出 $-1$,占一行。
- 如果 $x$ 在你的序列中,输出一个整数 $i$,占一行,使得 $x$ 是序列中的第 $i$ 个数字(从 $1$ 开始计数)。如果你已经输出了从 $1$ 到 $k$ 的所有整数,你的程序现在应该退出,否则你的提交将收到 Wrong Answer 判决。
请记住在每次输出整数后刷新缓冲区。
在此之后,如果你的程序尚未退出,过程将重复,你将接收到另一个整数。对手保证绝不会重复猜测同一个数字。
对手在不同的运行中可能会采用不同的猜测策略。
样例
输入格式 1
50001 0 1 -1
输出格式 1
0 1 -1