#3386. 派对(简单版)

派对(简单版)

题目描述

为了庆祝第二届 ABBYY Cup,聪明的海狸决定办一场派对。海狸有许多熟人,其中一些人互为朋友,另一些人互相讨厌。为了让派对圆满,海狸只想邀请那些由朋友关系连成一片的熟人,且不邀请任何互相讨厌的人。朋友关系和讨厌关系都是相互的。

更严格地说,对每一位被邀请者,以下条件必须全部满足:

  • 他的所有朋友也都被邀请到派对;
  • 派对上不能出现任何他讨厌的人;
  • 所有被邀请者都要与他是直接朋友,或通过任意长度的共同朋友链条相连。我们说两个人 a1a_1 与 apa_p 通过共同朋友链条相连,是指存在一列人 a2,a3,…,ap−1a_2, a_3, \ldots, a_{p-1},使得每一对人 aia_i 与 ai+1a_{i+1}(1≤i<p1 \le i \lt p)都互为朋友。

请帮海狸求出他最多能邀请多少名熟人。

输入格式

输入的第一行包含一个整数 nn,表示海狸的熟人数。

第二行包含一个整数 kk(0≤k≤min⁡(105,n(n−1)2)0 \le k \le \min(10^5, \frac{n(n-1)}{2})),表示朋友对数。接下来 kk 行,每行两个用空格隔开的整数 ui,viu_i, v_i(1≤ui,vi≤n1 \le u_i, v_i \le n,ui≠viu_i \ne v_i),表示第 ii 对朋友的编号。

接下来一行包含一个整数 mm(0≤m≤min⁡(105,n(n−1)2)0 \le m \le \min(10^5, \frac{n(n-1)}{2})),表示互相讨厌的人的对数。接下来 mm 行以与朋友对相同的格式描述互相讨厌的人。

每一对人在输入中最多出现一次(0≤k+m≤n(n−1)20 \le k + m \le \frac{n(n-1)}{2})。特别地,两个人不可能既是朋友又互相讨厌。

获得 30 分的数据满足:2≤n≤142 \le n \le 14。

获得 100 分的数据满足:2≤n≤20002 \le n \le 2000。

输出格式

输出一个数,表示最多能邀请的人数。如果无法选出满足全部条件的人群,输出 0。

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,3}\{1,2,3\} 和 {4,5}\{4,5\},因此答案是其中较大一组的人数。{6,7,8,9}\{6,7,8,9\} 不满足条件,因为它包含互相讨厌的 7 和 9;{1,2,3,4,5}\{1,2,3,4,5\} 也不满足,因为并非所有成员都通过共同朋友链条相连(例如 2 和 5 之间不连通)。