Problem B: 小组作业

Memory Limit:512 MB Time Limit:5.000 S
Creator:
Submit:28 Solved:1

Description

一个班级被分成了三人一组。这种分组可能会违反两种类型的约束:一些学生必须在同一组,而一些学生必须在不同的组。 你的工作是确定有多少个约束被违反了。

Input

第一行将包含一个整数 X(X ≥ 0)。接下来的 X 行每行将由两个不同的名字组成,用单个空格分隔。这两个学生必须在同一组。 接下来的一行将包含一个整数 Y(Y ≥ 0)。
接下来的 Y 行每行将由两个不同的名字组成,用单个空格分隔。这两个学生不能在同一组。
在这 X + Y 行表示约束的内容中,每对学生最多出现一次。 接下来的一行将包含一个整数 G(G ≥ 1)。
最后 G 行每行将由三个不同的名字组成,用单个空格分隔。这三个学生被分在了同一组。
每个名字将由 1 到 10 个大写字母组成。没有两个学生会有相同的名字,并且出现在约束中的每个名字将恰好出现在 G 个组中的一个组里。

Output

输出一个介于 0 和 X + Y 之间的整数,即被违反的约束数量。

Sample Input

3
A B
G L
J K
2
D F
D G
4
A C G
B D F
E H I
J K L

Sample Output

3

HINT

数据范围: G ≤ 100000 ,  X ≤ 100000 ,   Y ≤ 100000