你正在调查一个洞穴。该洞穴有 $N$ 个房间。有一些地下通道双向连接着某些房间对。每个房间至少连接着一条通道。没有通道从一个房间连接到它自身,也没有两个房间之间由多于一条的通道连接。
当你身处某个房间时,你可以识别出你所在的房间,并看到它连接了多少条通道,但你无法区分这些通道。你想要估算洞穴中存在的通道总数。你最多可以进行 $K$ 次操作。一次操作可以是以下两种之一:
- 魔法传送到你选择的任意房间,或者
- 穿过连接你当前所在房间的一条随机通道,到达该通道另一端的房间。
当你决定穿过一条通道时,你无法选择具体走哪一条,因为它们看起来都一样。系统会均匀随机地为你选择一条通道。
你从一个任意房间开始调查。请在最多 $K$ 次操作内估算洞穴中房间之间的通道总数。
如果 $E$ 是你的估算值,$P$ 是实际的通道总数,那么当且仅当 $P \cdot 2/3 \le E \le P \cdot 4/3$ 时,你的解对于该测试用例被认为是正确的。
要通过一个测试集,你的解必须在至少 90% 的测试用例中是正确的。
输入输出格式
这是一个交互式问题。请确保你已阅读我们 FAQ 中关于交互式问题的部分。
程序首先应读取一行包含一个整数 $T$,即测试用例的数量。然后,必须处理 $T$ 个测试用例。
对于每个测试用例,程序必须首先读取一行包含两个整数 $N$ 和 $K$:洞穴中的房间数量,以及允许的最大操作次数。房间编号在 $1$ 到 $N$ 之间。洞穴在测试用例开始时确定,在你探索过程中不会改变。然后,你的程序必须处理最多 $K+1$ 次交换。
第 $i$ 次交换开始时,你需要读取一行包含两个整数 $R_i$ 和 $P_i$,分别代表你当前所在的房间编号以及它连接的通道数量。然后,你必须输出一行,包含以下内容之一:
- 单个大写字母
W:表示你想要穿过一条随机通道。 - 单个大写字母
T和一个整数 $S$:表示你想要传送到房间 $S$。 - 单个大写字母
E和一个整数 $E$:表示你想要结束探索,并估算洞穴包含 $E$ 条通道。
在进行估算操作后,如果还有下一个测试用例,评测系统将立即开始下一个测试用例,无论你的估算是否正确。如果没有下一个测试用例,评测系统将等待你结束,不再输出任何内容。
如果评测系统在任何时刻收到格式错误的行,或者你对某个测试用例的第 $(K+1)$ 次交换不是估算操作,评测系统将打印一个数字 $-1$ 且不再输出任何内容。如果你的程序在收到 $-1$ 后继续等待评测系统,程序将超时,导致“超出时间限制”(Time Limit Exceeded)错误。请注意,你有责任让程序及时退出以接收“答案错误”(Wrong Answer)判决,而不是“超出时间限制”。通常情况下,如果超出内存限制或程序运行出错,你将收到相应的判决。
数据范围
时间限制:120 秒。 内存限制:1 GB。
测试集 1 (可见判决)
$1 \le T \le 100$ $2 \le N \le 10^5$ $K = 8000$ 每个房间至少连接一条通道。
样例
输入格式 1
1 5 3 4 1 5 2 4 1 1 3
输出格式 1
T 5 W T 1 E 5
说明
(可以证明该测试用例的实际通道数要么是 4,要么是 5。图中展示了该测试用例的两种可能图示。)