题目描述
多米诺骨牌非常有趣。孩子们喜欢将骨牌竖立起来,排成一长串。当一块骨牌倒下时,它会撞倒下一块,下一块又会撞倒再下一块,一直到整个链条都倒下。然而,有时候一块骨牌无法撞倒下一块,在这种情况下,我们必须手动将它推倒来继续让骨牌倒下。
给定一组通过手动推倒的多米诺骨牌,你的任务是确定倒下的多米诺骨牌总数。
输入格式
输入的第一行包含一个整数,表示后续测试用例的数量。每个测试用例的第一行包含三个整数 n, m, l,它们的最大值不超过10000。接下来的 m + l 行描述了多米诺骨牌的倒下关系和手动推倒的骨牌:
第一个整数 n 表示多米诺骨牌的数量,多米诺骨牌编号从 1 到 n。
紧接着的 m 行,每行包含两个整数 x 和 y,表示如果编号为 x 的骨牌倒下,它会使编号为 y 的骨牌也倒下。
接下来的 l 行,每行包含一个整数 z,表示编号为 z 的骨牌是手动推倒的。
输出格式
对于每个测试用例,输出一行,表示倒下的多米诺骨牌总数。
样例输入
1
3 2 1
2 1
2 3
2
样例输出
2