#include<bits/stdc++.h>
using namespace std;
#define fast ios_base::sync_with_stdio(false),cout.tie(NULL),cin.tie(NULL);
#define N "\n";
#define all(v) v.begin(),v.end()
#define rall(v) v.rbegin(),v.rend()
#define sz(s) s.size()
typedef long long ll;
#define ull unsigned long long
#define fi first
#define se second
int MOD=1e9+7;
ll mul(ll a,ll b){return (1ll*a*b)%MOD;}
int sub(ll a,ll b){return ((a-b)%MOD+MOD)%MOD;}
int add(ll a,ll b){return ((a%MOD)+(b%MOD))%MOD;}
ll lcm(ll x, ll y) {return x / __gcd(x, y) * y;}
bool iseven(ll n) {if ((n & 1)){return 0;}else {return 1;}}
ll ncr(int n,int m){ll z=1;for(int i=0;i<m;i++){z=z*(n-i)/(i+1);}return z;}
void swp(ll &a,ll &b){a^=b;b^=a;a^=b;}
ll fp(int n,int p){if(!p){return 1;}ll rem=fp(n,p>>1);rem*=rem;if(p&1){rem*=n;}return rem;}
const ll M=3e7+5;
int main() {
fast
int t=1;
cin>>t;
while(t--){
int n,l,r;
cin>>n>>l>>r;
vector<int>v(l),v1;
map<int,int>mp,mp1;
for(int i=0;i<l;i++){
cin>>v[i];
mp[v[i]]++;
}
int socks=0;
for(int i=0;i<r;i++){
int num;
cin>>num;
if(mp[num]){
mp[num]--;
socks++;
}
else{
mp1[num]++;
v1.push_back(num);
}
}
if(l==r){
cout<<(sz(v1))<<N;
}
else if(l>r){
for(auto&it:mp){
if(it.second>1){
while(l>r&&it.second>1){
socks++;
r++;
it.second--;
l--;
}
}
}
cout<<r<<N;
}
else{
for(auto&it:mp1){
if(it.second>1){
while(l<r&&it.second>1){
socks++;
r--;
it.second--;
l++;
}
}
}
cout<<l<<N;
}
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBmYXN0IGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpLGNvdXQudGllKE5VTEwpLGNpbi50aWUoTlVMTCk7CiNkZWZpbmUgTiAiXG4iOwojZGVmaW5lIGFsbCh2KSB2LmJlZ2luKCksdi5lbmQoKQojZGVmaW5lIHJhbGwodikgdi5yYmVnaW4oKSx2LnJlbmQoKQojZGVmaW5lIHN6KHMpIHMuc2l6ZSgpCnR5cGVkZWYgIGxvbmcgbG9uZyBsbDsKI2RlZmluZSB1bGwgdW5zaWduZWQgbG9uZyBsb25nCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKaW50IE1PRD0xZTkrNzsKbGwgbXVsKGxsIGEsbGwgYil7cmV0dXJuICgxbGwqYSpiKSVNT0Q7fQppbnQgc3ViKGxsIGEsbGwgYil7cmV0dXJuICgoYS1iKSVNT0QrTU9EKSVNT0Q7fQppbnQgYWRkKGxsIGEsbGwgYil7cmV0dXJuICgoYSVNT0QpKyhiJU1PRCkpJU1PRDt9CmxsIGxjbShsbCB4LCBsbCB5KSB7cmV0dXJuIHggLyBfX2djZCh4LCB5KSAqIHk7fQpib29sIGlzZXZlbihsbCBuKSB7aWYgKChuICYgMSkpe3JldHVybiAwO31lbHNlIHtyZXR1cm4gMTt9fQpsbCBuY3IoaW50IG4saW50IG0pe2xsIHo9MTtmb3IoaW50IGk9MDtpPG07aSsrKXt6PXoqKG4taSkvKGkrMSk7fXJldHVybiB6O30Kdm9pZCBzd3AobGwgJmEsbGwgJmIpe2FePWI7Yl49YTthXj1iO30KbGwgZnAoaW50IG4saW50IHApe2lmKCFwKXtyZXR1cm4gMTt9bGwgcmVtPWZwKG4scD4+MSk7cmVtKj1yZW07aWYocCYxKXtyZW0qPW47fXJldHVybiByZW07fQpjb25zdCBsbCBNPTNlNys1OwppbnQgbWFpbigpIHsKCWZhc3QKCQlpbnQgdD0xOwoJCSBjaW4+PnQ7CgkJd2hpbGUodC0tKXsKCQkJaW50IG4sbCxyOwoJCQljaW4+Pm4+Pmw+PnI7CgkJCXZlY3RvcjxpbnQ+dihsKSx2MTsKCQkJbWFwPGludCxpbnQ+bXAsbXAxOwoJCQlmb3IoaW50IGk9MDtpPGw7aSsrKXsKCQkJCWNpbj4+dltpXTsKCQkJCW1wW3ZbaV1dKys7CgkJCX0KCQkJaW50IHNvY2tzPTA7CgkJCWZvcihpbnQgaT0wO2k8cjtpKyspewoJCQkJaW50IG51bTsKCQkJCWNpbj4+bnVtOwoJCQkJaWYobXBbbnVtXSl7CgkJCQkJbXBbbnVtXS0tOwoJCQkJCXNvY2tzKys7CgkJCQl9CgkJCQllbHNlewoJCQkJCW1wMVtudW1dKys7CgkJCQkJdjEucHVzaF9iYWNrKG51bSk7CgkJCQl9CgkJCX0KCQkJaWYobD09cil7CgkJCQljb3V0PDwoc3oodjEpKTw8TjsKCQkJfQoJCQllbHNlIGlmKGw+cil7CgkJCQlmb3IoYXV0byZpdDptcCl7CgkJCQkJaWYoaXQuc2Vjb25kPjEpewoJCQkJCQl3aGlsZShsPnImJml0LnNlY29uZD4xKXsKCQkJCQkJCXNvY2tzKys7CgkJCQkJCQlyKys7CgkJCQkJCQlpdC5zZWNvbmQtLTsKCQkJCQkJCWwtLTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJCWNvdXQ8PHI8PE47CgkJCX0KCQkJZWxzZXsKCQkJCWZvcihhdXRvJml0Om1wMSl7CgkJCQkJaWYoaXQuc2Vjb25kPjEpewoJCQkJCQl3aGlsZShsPHImJml0LnNlY29uZD4xKXsKCQkJCQkJCXNvY2tzKys7CgkJCQkJCQlyLS07CgkJCQkJCQlpdC5zZWNvbmQtLTsKCQkJCQkJCWwrKzsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJCWNvdXQ8PGw8PE47CgkJCX0KCQkJCgkJfQp9CQkgCQkJICAJCSAgCQkJCSAgCSAJIAkJCQkJCSAJCQkgCQkgICAJCQkgIAkgCQ==