苏格拉底:告诉我,柏拉图,你是否同意我的观点:最强大的战士是那些会飞的,比如 Bombardiro Crocodillo 或 Bombombini Gusini?
柏拉图:事实并非如此。陆地战士,比如 Brr Brr Patapim 和 Tung Tung Tung Sahur,尽管不会飞,也取得了成功。
苏格拉底:我相信寻找真理的唯一方法是让战士们战斗,并据此决定结果。
柏拉图:好极了,苏格拉底,我同意这是通往真理的道路。
决定性的战斗将在一个具有 $N$ 个顶点和 $M$ 条边的连通图上进行。Lirili Larila 是一种半象半仙人掌的生物,她拥有这个图,并坚持认为它是她最喜欢的类型:仙人掌图。在本题中,仙人掌图被定义为一种简单的连通图,其中每个顶点最多属于一个环。
战斗过程如下:最初,所有飞行战士被放置在一个指定的起始顶点,所有陆地战士被放置在另一个指定的起始顶点。随着战斗的进行,战士们将他们的影响力扩散到整个图,试图征服尽可能多的顶点。最终,一个顶点要么被飞行战士征服,要么被陆地战士征服,这取决于它距离飞行战士的起始顶点更近,还是距离陆地战士的起始顶点更近。距离两个起始顶点距离相等的顶点保持未被征服状态,因为它们对双方都构成了巨大的挑战。
Lirili Larila 希望控制战斗的结果。她已经预先设定了两个正整数 $A$ 和 $B$,分别代表飞行战士和陆地战士要征服的顶点数量。请帮助这位可爱的仙人掌象为两类战士选择起始顶点,使得战斗结束时,被征服的顶点数量分别等于 $A$ 和 $B$。
此外,你必须为 $T$ 个不同的场景找到这样的选择。
输入格式
第一行包含一个正整数 $T$,表示不同场景的数量。
每个场景描述如下:
第一行包含四个正整数 $N, M, A$ 和 $B$,分别表示仙人掌图的顶点数、边数,以及飞行战士和陆地战士要征服的顶点数量。
接下来的 $M$ 行,每行包含两个整数 $a$ 和 $b$ ($1 \le a, b \le N, a \neq b$),表示图中的一条边。
给定的图保证是一个仙人掌图,即一个简单的连通图,其中每个顶点最多属于一个环。
测试数据保证总是可以找到一组有效的起始顶点。
输出格式
输出 $T$ 行,每行对应一个场景。
在第 $i$ 行,输出两个空格分隔的正整数,表示第 $i$ 个场景中为飞行战士和陆地战士选择的起始顶点。如果存在多种解,输出任意一个即可。
子任务
在所有子任务中,满足 $2 \le N \le 200\,000$ 且 $2 \le A + B \le N$。此外,所有场景的 $N$ 之和最多为 $200\,000$。
下表列出的约束条件分别适用于每个给定的 $T$ 个场景。
| 子任务 | 分值 | 约束条件 |
|---|---|---|
| 1 | 6 | 所有 $N$ 之和 $\le 300$。 |
| 2 | 8 | 给定图是一棵树,且所有 $N$ 之和 $\le 5000$。 |
| 3 | 25 | 给定图是一棵树。 |
| 4 | 13 | 给定图恰好有一个环,且所有 $N$ 之和 $\le 5000$。 |
| 5 | 17 | 给定图恰好有一个环,且保证存在一个解,使得两个起始顶点都在该环内。 |
| 6 | 8 | 给定图恰好有一个环。 |
| 7 | 11 | 所有 $N$ 之和 $\le 5000$。 |
| 8 | 12 | 无额外约束。 |
样例
样例输入 1
1 6 5 3 1 1 2 2 3 2 4 4 5 5 6
样例输出 1
4 3
说明 1
飞行战士征服了顶点 4、5 和 6,而陆地战士征服了顶点 3。顶点 1 和 2 保持未被征服。
样例输入 2
1 6 6 3 2 1 2 2 3 3 4 4 1 3 5 5 6
样例输出 2
1 6
说明 2
飞行战士征服了顶点 1、2 和 4,而陆地战士征服了顶点 5 和 6。顶点 3 保持未被征服。
样例输入 3
1 6 7 3 3 1 2 2 3 3 1 2 4 4 5 5 6 6 4
样例输出 3
4 2
说明 3
飞行战士征服了顶点 4、5 和 6,而陆地战士征服了顶点 1、2 和 3。没有未被征服的顶点。