Little Cyan Fish 在 Qingyu Xiao 的指导下正在磨练他的平衡技巧。现在,Qingyu Xiao 准备了一个连通无向图 $G = (V, E)$,包含 $n$ 个顶点(编号从 $1$ 到 $n$)和 $m$ 条边,记作 $(u_i, v_i)$ ($1 \le i \le m$)。每个顶点 $i$ 都被标记了一个数字 $a_i$。该图可能包含重边,但不存在自环。
Little Cyan Fish 的任务是使图达到平衡状态。具体来说,他的目标是满足:
$$\sum_{(u,v) \in E} |a_u - a_v| \le \max_{1 \le i \le n} \{a_i\} - \min_{1 \le i \le n} \{a_i\}$$
为了做到这一点,他可以任意多次交换任意两个顶点上的标签。
你的任务是帮助 Little Cyan Fish 判断是否有可能达到目标。如果可能,你需要给出一个可能的方案。
输入格式
输入包含多个测试用例。第一行包含一个整数 $T$ ($1 \le T \le 10^5$),表示测试用例的数量。
对于每个测试用例,第一行包含两个整数 $n$ 和 $m$ ($2 \le n \le 10^5, n - 1 \le m \le 2 \times 10^5$)。
接下来的 $m$ 行,每行包含两个整数 $u$ 和 $v$ ($1 \le u, v \le n, u \neq v$),表示一条边。
最后一行包含 $n$ 个整数 $a_1, \dots, a_n$ ($1 \le a_i \le n$),表示序列 $a$。
该图可能包含重边,但不包含任何自环。
保证所有测试用例的 $n$ 之和不超过 $5 \times 10^5$,且所有测试用例的 $m$ 之和不超过 $10^6$。
输出格式
对于每个测试用例,如果存在一种重排 $a$ 的方式满足条件,则在第一行输出 “Yes”,否则输出 “No”。如果可能,在下一行输出重排后的序列 $a_1, a_2, \dots, a_n$。
样例
样例输入 1
5 5 4 1 2 2 3 3 4 4 5 1 2 3 4 5 5 4 1 2 1 3 1 4 1 5 1 2 3 4 5 5 4 1 2 1 3 1 4 1 5 1 2 2 2 3 5 6 1 2 1 2 2 3 3 4 4 5 3 5 1 2 1 2 1 2 2 1 2 1 2 1 2
样例输出 1
Yes 5 4 3 2 1 No Yes 2 2 2 3 1 Yes 2 2 1 1 1 No