有人在方格纸上画了一个顶点坐标为整数的非退化三角形。然而,他没有告诉任何人这个三角形的位置。因此,你对此感到非常好奇。幸运的是,他同意回答你关于这个三角形的问题。你需要告诉他两个不同点 $(x_1, y_1)$ 和 $(x_2, y_2)$ 的坐标,他会画出一条有向直线,并告诉你这条直线是否穿过该三角形。如果直线穿过三角形,他会告诉你三角形位于直线的左侧还是右侧。
每个问题的回答描述如下:
- '+' 三角形完全位于直线的右侧。
- '-' 三角形完全位于直线的左侧。
- 'X' 直线至少在一个点上穿过三角形。
如果你提出的问题超过 600 个,他会感到非常厌烦,并拒绝继续回答。
输入格式
在每次询问后,你将得到一行输入,它可能是三个字符中的一个('-', '+' 或 'X')。
输出格式
要进行询问,你需要按照以下格式打印一行。所有坐标必须为整数: $Q\ x_1\ y_1\ x_2\ y_2$
$$|x_1|, |x_2|, |y_1|, |y_2| \le 42 \times 10^4$$
如果你确定了三角形的最终位置,你需要按照以下格式打印一行: $A\ x_1\ y_1\ x_2\ y_2\ x_3\ y_3$
如果你猜对了三角形的正确位置,点的顺序不会影响答案的正确性。
$$|x_1|, |x_2|, |x_3|, |y_1|, |y_2|, |y_3| \le 10^5$$
请注意,每次询问后你必须打印一个换行符并刷新缓冲区。例如,在 C++ 中可以使用 fflush(stdout),在 Java 中可以使用 System.out.flush(),在 Pascal 中可以使用 flush(output)。