#P1692. Crossed Matchings

Crossed Matchings

题目描述

有两行正整数。如果两个相等且值为rr的数,一个在第一行,另一个在第二行,那么我们可以在这两个数之间画一条线段。我们称这条线段为rr匹配线段。下图展示了一条33匹配线段和一条22匹配线段。

我们想要针对给定的输入,找出能够画出的匹配线段的最大数量,需满足以下条件:

1.每一条aa匹配线段应该恰好与一条bb匹配线段相交,其中aba \neq b

2.不可以从一个数引出两条匹配线段。例如,以下这些匹配情况是不允许的。

请编写一个程序,计算输入数据中匹配线段的最大数量。请注意,这个数量总是偶数。

输入

输入的第一行是测试用例的数量MM,其中1M101 \leq M \leq 10。每个测试用例包含三行。第一行包含N1N_1N2N_2,分别表示第一行和第二行的整数数量。接下来一行包含N1N_1个整数,这些是第一行的数字。第三行包含N2N_2个整数,这些是第二行的数字。所有数字都是小于100100的正整数。

输出

对于每个测试用例,输出应单独占一行。每个测试用例的匹配线段的最大数量应单独写在一行中。

输入数据 1

3
6 6
1 3 1 3 1 3
3 1 3 1 3 1
4 4
1 1 3 3 
1 1 3 3 
12 11
1 2 3 3 2 4 1 5 1 3 5 10
3 1 2 3 2 4 12 1 5 5 3 

输出数据 1

6
0
8

来源

德黑兰1999竞赛