给定一棵包含 $N$ 个顶点的点染色树,判断它是否可以在二维平面上画出并具有对称轴。
形式上,如果一棵树的每个顶点都可以被分配到二维平面上的一个位置,使得满足以下条件,则称该树是轴对称的:
- 所有位置互不相同。
- 如果顶点 $v_i$ 的颜色为 $C$ 且坐标为 $(x_i, y_i)$,则必须存在一个颜色为 $C$ 的顶点 $v_i'$ 位于 $(-x_i, y_i)$ 处——注意,如果 $x_i$ 为 $0$,则 $v_i$ 和 $v_i'$ 是同一个顶点。
- 对于每条边 $(v_i, v_j)$,必须存在一条对应的边 $(v_i', v_j')$。
- 如果边用连接其端点的直线表示,则任意两条边除了在公共端点处相交外,不共享任何点。
输入格式
输入的第一行包含测试用例的数量 $T$。接下来是 $T$ 个测试用例。 每个测试用例的第一行包含一个整数 $N$,表示树的顶点数。
接下来的 $N$ 行,每行包含一个大写字母,表示第 $i$ 个节点的颜色。
接下来的 $N-1$ 行,每行包含两个整数 $i$ 和 $j$ ($1 \le i < j \le N$),表示树中存在一条连接第 $i$ 个顶点和第 $j$ 个顶点的边。这些边构成一棵连通树。
输出格式
对于每个测试用例,输出一行 "Case #x: y",其中 $x$ 是用例编号(从 1 开始),如果树根据上述定义是轴对称的,则 $y$ 为 "SYMMETRIC",否则为 "NOT SYMMETRIC"。
数据范围
$1 \le T \le 100$。
小数据集
$2 \le N \le 12$。
大数据集
$2 \le N \le 10000$。
样例
样例输入 1
3 4 R G B B 1 2 2 3 2 4 4 R G B Y 1 2 2 3 2 4 12 Y B Y G R G Y Y B B B R 1 3 1 9 1 10 2 3 3 7 3 8 3 11 4 8 5 7 6 7 8 12
样例输出 1
Case #1: SYMMETRIC Case #2: NOT SYMMETRIC Case #3: SYMMETRIC
第一个样例可以画成如下形式:
第二个样例没有任何排列具有对称轴: