时间限制:C/C++/Rust/Pascal 4秒,其他语言8秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld
题目描述
小X手里有一个无向图,有

个点,编号为

,有

条无向边。
凑巧,小Y手里也有一个无向图,也是编号为

的

个点,有

条无向边。
他俩感觉很亲切,因此想统计一下有多少个点对[x,y]满足以下三个条件:
1、
2、在小X的无向图里,

可以互相到达
3、在小Y的无向图里,

可以互相到达
点很多,你能帮帮他们吗?
输入描述:
第一行包含三个整数
,满足
代表两个无向图的点的数量和边的数量。
接下来
行,每行两个空格隔开的整数
,满足
表示第一个图里的每条边。
接下来
行,每行两个空格隔开的整数
,满足
表示第二个图里的每条边。
输出描述:
请输出一个整数,表示满足条件的点对数量
示例1
输入
复制
3 3 3
1 2
2 3
1 3
1 2
2 3
1 3
说明
对于第一个样例,两个图都是三个点的完全图,有三个点对满足条件:[1,2],[1,3],[2,3]。
示例2
输入
复制
4 3 3
1 2
2 3
1 3
2 3
2 4
3 4
说明
对于第二个样例,第一个图里123可以互相到达,第二个图里234可以互相到达,因此有一个点对满足条件:[2,3]。
示例3
输入
复制
4 6 2
1 2
1 3
1 4
2 3
2 4
3 4
1 2
3 4
说明
对于第三个样例,第一个图是四个点的完全图,第二个图里12可以互相到达,34可以互相到达,因此有两个点对满足条件:[1,2],[3,4]。