logo AlgoBeat OnlineJudge
登录 注册

#214884. [CCPC 2024 哈尔滨站] 欢迎加入线上会议!

内存限制:1024 MiB 时间限制:2000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

你想在 MeLink 上组织一次有 位参会者的线上会议,参会者编号为 。对于这 位参会者的每一位,都至少认识一位除了自己之外的参会者,认识关系是双向的。

会议的组织过程如下:首先由一个人创建会议并加入。随后,已经进入会议的成员可以拉一些自己认识但还没入会的参会者入会,直到所有 位参会者都入会。但是有 位参会者正忙着调试程序,这些人可以被拉进会议,但不会创建会议或拉他认识的人入会。

你希望确定是否有可能让所有 位成员都入会。如果可行,请确定拉人入会的方案。

输入格式

第一行三个整数 (, , ),分别表示参会者人数,互相认识的关系数和目前正忙的人数。

第二行 个整数 (),其中第 个整数表示第 位成员正忙。这些整数两两不同。如果 ,这一行将为空,但不会省略。

接下来的 行中,每行两个整数 (, ),表示 相互认识。认识关系是双向的。保证同一认识关系不会重复出现,且每个人都至少认识另一个人。

输出格式

如果无法组织有这 位成员参加的会议,则在第一行输出

如果可以,则在第一行输出 。接下来,在第二行输出一个整数 (),表示组织该会议所需的步骤数。

接下来 行,每行描述组织该会议的一步。在第 行,首先输出一个整数 ()。如果 ,则 表示创建会议的成员,否则, 必须是已经被拉入会议的一位成员。所有的 应两两不同。接下来,输出一个整数 (),表示 个成员入会。最后,输出 个整数 (),表示被 拉入会议的成员编号。 应当两两不同,并且整个过程中同一个人不能多次被拉入会。

你不必最小化 ,输出任意一种合法方案均可。

样例

样例输入 1

4 5 2
3 4
1 2
1 3
2 3
3 4
2 4

样例输出 1

Yes
2
1 2 2 3
2 1 4

样例输入 2

4 5 3
2 4 3
1 2
1 3
2 3
3 4
2 4

样例输出 2

No