施蒂利茨(Stierlitz)正在等待他的新助手——一位即将从飞机上跳伞降落的女发报员。然而,飞行员在漆黑的夜色中偏离了预定地点,将女孩空投到了错误的地方。唯一值得庆幸的是,这个地点是平面上一个具有整数坐标的点……施蒂利茨别无选择,他必须找到这个女孩。对于一位党卫队旗队领袖(Standartenführer)来说,拿着手电筒在灌木丛中乱撞可不是什么体面的消遣,但唉,他没有人可以委派这项任务。他的一个副官正在度假,另一个在酗酒,第三个虽然度完假也戒了酒,但却是个废物。为了应对这一挑战,施蒂利茨从谢伦贝格(Schellenberg)先生那里借来了一个无线电追踪器,正驾车穿过田野,试图精确定位那个可怜的女孩。
这个追踪器是由自学成才的锁匠天才波列索夫(Polesov)发明的最新装置,其工作原理如下:汽车停在平面上的某个点,并将天线指向特定方向,测量信号强度。如果施蒂利茨与发报员站在同一个位置,无论天线指向何方,设备都会显示 $-1$。否则,如果 $\varphi < 90^\circ$,设备显示的信号强度为 $P \cos \varphi / R^2$;如果 $\varphi \ge 90^\circ$,则显示为 $0$。这里 $\varphi$ 是天线方向向量与从施蒂利茨的汽车指向发报员的向量之间的夹角,$R$ 是汽车到发报员的距离,而 $P$ 是一个取决于无线电设备的未知常数。
施蒂利茨必须用少于 10 次的测量来精确定位发报员的位置;更多的测量将会招来竞争对手组织中缪勒(Mueller)的手下。
交互
这是一个交互式任务,您将与一个名为 interactor 的特殊程序进行交互,而不是使用文件输入输出。您将通过标准输入输出流与该程序进行交互。
要进行一次询问,请向标准输出流打印一个问号,后跟四个由空格分隔的整数 $x_0, y_0, x_d, y_d$,其中 $x_0, y_0$ 是施蒂利茨汽车的坐标,$x_d, y_d$ 是天线方向向量的分量($|x_0|, |y_0|, |x_d|, |y_d| \le 10^4$)。方向向量必须为非零向量,即 $|x_d| + |y_d| > 0$。
作为响应,标准输入流将接收到一个实数:设备显示的信号强度。如果该值等于 $-1$,则必须立即停止程序,因为这代表已经找到了发报员。
发报员的坐标为整数,且绝对值不超过 $10^3$。常数 $P$ 是一个介于 $1$ 和 $10^6$ 之间的实数。
请确保在每次打印询问后输出换行符并清空输出流缓冲区(使用编程语言中的 flush 函数)。否则,您的程序可能会因超时(Timeout)而终止。
样例
为了方便阅读,样例中的命令用包含减号的行隔开。您的程序不得输出任何减号。
输入格式 1
- 0.0359999999999999972799536 - 0.0000000000000000000000000 - 0.0089999999999999993199884 - 0.0899999999999999827915431 - 0.1666666666666666574148081 - -1
输出格式 1
? 0 0 0 1 - ? -2 -3 -1 1 - ? -4 -3 0 100 - ? 3 0 3 1 - ? 4 0 0 1 - ? 4 3 1 1
说明
在样例中,女发报员位于点 $(4, 3)$,常数 $P$ 为 $1.5$。请注意,交互器使用双精度浮点数(double precision)计算信号强度,并输出许多位小数。