Fimka Sobak 与“食人魔”埃洛奇卡(Ellochka the Cannibal)不同,她被公认为是一个有文化底蕴的女孩。除了她最喜欢的时髦词汇“……性”(...-ality)之外,她还学会了一个非常有趣的游戏——“猜模数”。
游戏规则如下。游戏有两名玩家:主持人和挑战者。主持人首先在心中想好两个数字:$N$(要求和的数字个数)和 $M$(模数)。主持人将数字 $N$ 告诉挑战者,挑战者必须猜出数字 $M$。此外,主持人还会想好一个包含 $(N - 1)$ 个数字的数组,并将其告诉挑战者。
在游戏过程中,挑战者向主持人询问数字以获取更多信息。每当挑战者说出一个数字时,主持人会:
- 将该数字追加到其数组的末尾,
- 计算 $S$ —— 数组中最后 $N$ 个数字之和模 $M$ 的余数,
- 将 $S$ 追加到数组的末尾,并且
- 将 $S$ 告诉挑战者。
一旦挑战者猜出模数 $M$ 的值,他/她就会通知主持人。
已知模数 $M$ 处于 $2$ 到 $10^9$ 之间(包含端点)。
交互
本题是一道交互题。你不需要进行文件输入输出,而是需要与一个特殊的程序——交互器(interactor)进行协作。与该程序的交互通过标准输入输出流进行。
首先,你将获得数字 $N$ 和数组的前 $(N - 1)$ 个数字。接下来,你的程序将发送查询。每次向数组中添加数字的查询都会根据游戏规则返回一个新的模 $M$ 下的和。在发送了猜测模数的查询之后,挑战者的程序必须终止。
如果你无法猜出模数或猜错,你将获得 Wrong Answer 的评测结果。
挑战者的查询次数(包括最后一次猜测模数的查询)不能超过 $10^3$ 次。如果超过查询次数限制,你将获得 Wrong Answer 的评测结果。
输入格式
输入流的第一行包含一个整数 $N$($2 \le N \le 100$)。
第二行包含 $(N - 1)$ 个空格分隔的整数,范围在 $0$ 到 $10^9$ 之间(包含端点)。
输入流接下来的行包含对询问的回答。每个回答都是其数组中最后 $N$ 个元素模 $M$ 的和。
输出格式
你应该将查询和挑战者的回答输出到标准输出。
挑战者查询格式:? p,其中 $p$ 是挑战者添加到数组中的数字。数字 $p$ 必须是整数,且必须在 $0$ 到 $10^9$ 之间(包含端点)。
挑战者回答格式:! M,其中 $M$ 是所求的模数。
请确保每次查询都以换行符结束,并且刷新输出流缓冲区(使用语言的 flush 命令)。否则,程序可能会获得 DEADLOCK(死锁)的评测结果。
样例
输入样例 1
4 1 2 3 6 0 6
输出样例 1
? 0 ? 5 ? 2 ! 7