菜菜k、lyh,东东哥的比赛
题号:NC200109
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

菜菜k,lyh,东东哥三人要组队去参加一场比赛,这场比赛有n个问题,编号为1,2,3,4...n。他们队伍有一个特点就是菜菜k只想从编号为1的题开始从前往后做,即[1,2,3...n]的前缀部分,东东哥只想从编号为n的题开始从后往前做,即[1,2,3,..,n]的后缀部分。每一个问题都印在一张单独的纸上,这些纸从左往右排成一列,他们决定让菜菜k从前往后拿问题,东东哥从后往前拿问题,lyh拿剩下的。但是粗心的他们在拿完之后才发现了题目并不是从左往右按照1,2,3,...,n的顺序排列的,于是他们不得不进行如下操作,每一次操作就是让一个人把他的问题给另一个人,现在给出他们每个人拿的问题的个数以及每个问题编号,他们想请你帮他们计算出最少需要多少次操作能够使菜菜k拿到的是问题的前缀部分,即[1,2,..,i],东东哥拿到的是问题的后缀部分即[j,j+1...,n]。(不需要考虑每个人手里的问题的顺序,每个人最后手里的问题个数可以为0)

输入描述:

多组数据,第一行一个T代表有T组数据。(1<=T<=10)

对于每组数据,第一行输入三个数a,b,c,分别代表菜菜k和lyh和东东哥各自拿到问题的个数。(3<=a+b+c<=100000),(1<=a,b,c<=100000)

接下来三行

第一行输入a个数代表菜菜k拿到的问题的编号。

第二行输入b个数代表lyh拿到的问题的编号。

第三行输入c个数代表东东哥拿到的问题的编号。

输出描述:

对于每组数据输出一个数ans,代表需要的最小操作次数。
示例1

输入

复制
1
2 1 2
3 1
4
2 5

输出

复制
1

说明

对于样例1,只需要一次操作,即东东哥把编号为2的问题给菜菜k,那么这三个人手里的问题就是[3,1,2],[4],[5].。
示例2

输入

复制
1
1 3 2
6
1 2 3
4 5

输出

复制
1

说明

对于样例2,只需要一次操作,即菜菜k把编号为6的问题给东东哥,那么这三个人手里的问题就是[],[1,2,3],[4,5,6].。