![]()
请注意本题与 P15425 Nobody Tells 的不同之处——本题对询问的约束更严格。
这是一道交互题。
Coola 有两个数 ,还有一个质数 ,我们用如下方法生成一个序列 :
交互库会给定你 和一个参数 ,你最多可以向交互库查询 次:
你的任务是,在最多 次查询之后猜出 的值。特别地,你可以同时猜测两对 ,详见交互细节。
交互细节
本题包含多组测试。
在输入数据的第一行,交互库会给你的程序一个数 ,表示该测试点的测试数据组数。
对于每组测试数据:
交互库会获得该测试数据的 。这同时也说明交互库是非自适应性的。
第一行,交互库向你的程序输入两个数 ,表示模数与询问限制。
对于每次询问,你需要输出 ? i,表示查询 的值。
正常情况下,交互库会向你输入一个 中的整数,表示你查询的 。
若发生以下情况,交互库会立刻终止交互并强制退出程序,该测试点将被判定为不通过:
在你猜出可能的 后,你需要输出 ! p1 q1 p2 q2,表示你猜测的两对 分别为 与 。此操作不计入询问的 次操作中。特别地,你需要保证四个数都在 的范围中,否则交互库会立刻终止交互并强制退出程序,该测试点将被判定为不通过。
若两对答案中存在一对与交互库得到的值相同,则通过了该测试数据,否则不通过,且交互库会立刻终止交互并强制退出程序。
若你通过了一个测试点中的所有测试数据,该测试点将被判定为通过。