Elater 是一位伟大的魔术师。他最著名的表演是“Elater 的超级壮观弹簧展示”。表演内容如下:
天花板上悬挂着 $n$ 个弹簧。第 $i$ 个弹簧悬挂在高度 $h_i$ 处,其劲度系数为 $k_i$。如果我们给第 $i$ 个弹簧的下端挂上质量为 $w$ 的重物,重物将下降到高度 $H$,计算公式为:
$$H = h_i - \frac{w}{k_i}$$
Elater 会接受观众的提问。当被问及一个正整数 $w$ 时,Elater 能够选出这样一个弹簧:如果给它的下端挂上质量为 $w$ 的重物,它下降后的高度比所有其他弹簧都低(更靠近地面);如果出现平局,他可以选出下降高度最低的弹簧中的任意一个。为了完成这一壮举,Elater 得到了他的助手 Hooke 的帮助。
在表演开始前,Hooke 有一些时间对弹簧进行测量。他无法直接测量 $h_i$ 和 $k_i$ 的值,但他可以选择两个弹簧 $a$ 和 $b$ 以及一个质量 $w$,尝试将质量为 $w$ 的重物分别挂在两个弹簧上,观察哪一个弹簧挂上重物后更靠近地面。在表演开始前,他最多可以进行 $20\,000$ 次这样的测量。此外,在每次提问后,Elater 可以分散观众的注意力,让 Hooke 再进行最多 $20$ 次测量,然后悄悄地将答案告诉 Elater。
你能帮助 Hooke 让表演成功吗?假设弹簧悬挂得足够高,且重物质量足够小,使得在任何测量过程中重物都不会触及地面。同时请注意,每次测量后重物都会被移除。
交互格式
首先,你必须从输入中读取一个整数 $n$ ($2 \le n \le 500$)。
要进行测量,你必须打印一行格式为 “? $a$ $b$ $w$” 的内容,其中 $a$ 和 $b$ ($0 \le a, b \le n-1$) 是你想要使用的两个弹簧的索引,$w$ ($1 \le w \le 10^5$) 是你想要挂在两个弹簧上的整数质量。之后,你必须从输入中读取一行作为回答,如果弹簧 $a$ 达到的高度更低,则回答为 “FIRST”;如果弹簧 $b$ 达到的高度更低,则回答为 “SECOND”;如果两者达到的高度相同,则回答为 “EQUAL”。
在第一阶段,你最多可以进行 $20\,000$ 次测量。完成第一阶段的所有测量后,打印一行包含单个字符 “!” 的内容。之后,你将收到一个或多个问题。
每个问题以单行格式 “QUESTION $w$” 给出,其中 $w$ 是 Elater 被问及的整数质量 ($1 \le w \le 10^5$)。读取每个问题后,你可以进行最多 $20$ 次测量,格式与第一阶段相同。完成测量后,输出一行格式为 “! $i$” 的内容,其中 $i$ ($0 \le i \le n-1$) 是该问题的答案弹簧索引。如果有多个弹簧达到相同的最低高度,你可以打印其中任意一个。
在所有问题之后,你将收到一行由单词 “FINISH” 组成的输入,而不是下一个问题。这意味着没有更多问题,你的程序必须结束。问题的总数至少为 $1$,最多为 $1000$。
打印每一行后,请务必刷新输出!
在每个测试用例中,$h_i$、$k_i$ 的值以及所有问题都是预先确定的。
样例
输入 1
3 SECOND QUESTION 2 SECOND FIRST QUESTION 6 SECOND SECOND FINISH
输出 1
? 0 1 1 ! ? 0 1 2 ? 1 2 2 ! 1 ? 0 1 6 ? 1 2 6 ! 2