#E0029. 重要会议

重要会议

题目描述

quanjun 所在的公司有 nn 位高管,编号从 11nn

现在有一场重要的公司收购会议 —— 他们正在讨论是否要收购巴里巴巴,从而转向电商行业。

经过多年的职场奋战,一些高管之间建立了浓厚的战友情谊,这表现为 mm 对直接的朋友关系,每一对朋友关系表示为两个整数 uiu_iviv_i1ui,vin,uivi1 \le u_i, v_i \le n, u_i \neq v_i),它表示 uiu_iviv_i 是朋友关系。

同时,朋友关系具有传递性,这也就是说,如果 aabb 是朋友关系,同时 bbcc 是朋友关系,那么即使没有直接给出 aacc 的朋友关系,但是我们仍然认为 aacc 是朋友关系(这里,a,ba, b 之间,b,cb, c 之间可以认为是直接的朋友关系,a,ca, c 之间可以认为是间接的朋友关系)。

具有直接和间接朋友关系的所有高管组成了一个朋友团体。

同时,多年的职场斗争,一些高管之间彼此也树立起了浓浓的敌意,这表现为 kk 对敌对关系,每一对敌对关系表示为两个整数 xix_iyiy_i1xi,yin,xiyi1 \le x_i, y_i \le n, x_i \neq y_i),它表示:

如果编号为 xix_i 的员工出席了会议,则编号为 yiy_i 的员工肯定不会出席会议;同时,如果编号为 yiy_i 的员工出席了会议,则编号为 xix_i 的员工肯定不会出席会议。

敌对关系没有传递性,这也就是说,如果 aabb 是敌对关系,bbcc 是敌对关系,并不能说明 aacc 有敌对关系。

两位高管之间不会存在即存在直接的朋友关系,又存在直接的敌对关系。但是可能会出现下述的情况:

两位高管是直接的敌对关系,但是他们又是间接的朋友关系。

事情再返回到巴里巴巴收购会议上,因为这是一个重大的公司收购,所以股东们希望尽可能多的高管参会。

同时,为了避免在会议上出现太大的分歧,要求参会的高管必须属于同一个朋友团体。

同时,为了体现公司的团结,要求该朋友团体中的成员必须全员参加。即:如果某位高管参加了会议,那么所有他的直接或间接的朋友都必须参加会议;同时,不是他的直接或间接的朋友的高管都不允许参加这场会议。

同时,为了避免有私人恩怨的高管在开会期间打起来,所以不能有两个敌对关系的高管同时参加这场会议。

上述描述可以概括为:

如果某位高管参加了会议,则:

  • 他的所有(直接或间接的)朋友都必须也参加这场会议;
  • 参加这场会议的都是他的(直接或间接的)朋友;
  • 参加会议的人不存在和他有敌对关系的人。

简单来说就是:你要找一个人数最多的朋友团体,团体中的高管全体参加会议,同时这个朋友团体中不能存在任何两个人之间有敌对关系。

正值暑假无聊的你,被 xkchen 推(hū)荐(yōu)来组织这场收购巴里巴巴的会议。

求:你最多能够邀请到多少位公司高管?

输入格式

第一行,一个整数 n(2n105)n(2 \le n \le 10^5),表示公司高管人数。

第二行,一个整数 m(0mmin(105,n(n1)2))m(0 \le m \le \min(10^5, \frac{n \cdot (n-1)}{2})),表示朋友关系数。

接下来 mm 行,每行包含两个整数 uiu_iviv_i1ui,vin,uivi1 \le u_i, v_i \le n, u_i \neq v_i),表示一对朋友关系。

接下来一行,一个整数 k(0kmin(105,n(n1)2))k(0 \le k \le \min(10^5, \frac{n \cdot (n-1)}{2})),表示敌对关系数。

接下来 kk 行,每行包含两个整数 xix_iyiy_i1xi,yin,xiyi1 \le x_i, y_i \le n, x_i \neq y_i),表示一对敌对关系。

数据保证不会存在两个高管既是朋友关系又是敌对关系的情况出现,同时 0m+kn(n1)20 \le m+k \le \frac{n \cdot (n-1)}{2}

输出格式

输出一个整数,表示最多能够邀请到多少位高管参加会议。

9
8
1 2
1 3
2 3
4 5
6 7
7 8
8 9
9 6
2
1 6
7 9
3

说明/提示

样例解释

高管 1,2,31, 2, 3 属于同一个朋友团体,人数是 33 人。

高管 4,54, 5 属于同一个朋友团体,人数是 22 人。

高管 6,7,8,96, 7, 8, 9 属于同一个朋友团体,人数是 44 人,但是这个朋友团体中存在两个人(7799)是敌对关系,所以不能选择这个朋友团体。

所以最优方案是选择 1,2,31, 2, 3 对应的朋友团体,人数是 33 人。

数据规模与约定

  • 对于 30%30\% 的数据,n10n \le 10
  • 对于 60%60\% 的数据,n1000n \le 1000
  • 对于 100%100\% 的数据,2n105;0m+kmin(105,n(n1)2)2 \le n \le 10^5; 0 \le m+k \le \min(10^5, \frac{n \cdot (n-1)}{2})