#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
int mod = 1e9+7;
void solve()
{
int n,l,r;
cin>>n>>l>>r;
int ls[n];
int rs[n];
map<int,pair<int,int>> soc ;
for(int i=0;i<n;i++)
{
if(i+1<=l){
cin>>ls[i];
soc[ls[i]].first++;
}
else{
cin>>rs[i];
soc[rs[i]].second++;
}
}
int tcost = 0;
int pairs = 0;
for(auto [x,y]:soc)
{
// tcost-=2*min(y.first,y.second);
int minn=min(y.first,y.second);
pairs+=minn;
int f = y.first;
int s =y.second;
auto it = soc.find(x);
soc.erase(it);
pair<int,int>p;
p = make_pair(f-minn , s-minn);
soc[x]=p;
}
int cntl=0,cntr=0;
for(auto [x,y]:soc)
{
if(y.first)
cntl+=y.first;
else
cntr+=y.second;
}
if(cntl == cntr){
cout<<cntr<<"\n";
return;
}
tcost = abs(cntl -cntr)/2;
vector<int> v;
for(auto [x,y] : soc)
{
v.pb(y.first+y.second);
}
int cnt=0;
int extracost = (n- 2*pairs)/2;
sort(v.begin(),v.end(),greater<int>());
for(auto x:v)
{
int bn = x/2;
if(bn+cnt > tcost){
int lft = tcost - cnt;
extracost-=lft;
cnt+=1;
break;
}
extracost-=bn;
cnt+=bn;
if(cnt==tcost)
break;
}
cout<< extracost + tcost<<"\n";
}
int main()
{
int t=1;
cin>>t;
while(t--)
{
solve();
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBwYiBwdXNoX2JhY2sKaW50IG1vZCA9ICAxZTkrNzsKIAp2b2lkIHNvbHZlKCkKewogICAgaW50IG4sbCxyOwoKICAgIGNpbj4+bj4+bD4+cjsKCiAgICBpbnQgbHNbbl07CiAgICBpbnQgcnNbbl07CgogICAgbWFwPGludCxwYWlyPGludCxpbnQ+PiBzb2MgOyAKCiAgICBmb3IoaW50IGk9MDtpPG47aSsrKQogICAgewogICAgICAgIGlmKGkrMTw9bCl7CiAgICAgICAgICAgIGNpbj4+bHNbaV07CiAgICAgICAgICAgIHNvY1tsc1tpXV0uZmlyc3QrKzsKICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgY2luPj5yc1tpXTsKICAgICAgICAgICAgc29jW3JzW2ldXS5zZWNvbmQrKzsKICAgICAgICB9CiAgICB9CgogICAgaW50IHRjb3N0ID0gMDsKCiAgICBpbnQgcGFpcnMgPSAwOwoKICAgIGZvcihhdXRvIFt4LHldOnNvYykKICAgIHsKICAgICAgICAvLyB0Y29zdC09MiptaW4oeS5maXJzdCx5LnNlY29uZCk7CgogICAgICAgIGludCBtaW5uPW1pbih5LmZpcnN0LHkuc2Vjb25kKTsKCiAgICAgICAgcGFpcnMrPW1pbm47CgogICAgICAgIGludCBmID0geS5maXJzdDsKICAgICAgICBpbnQgcyA9eS5zZWNvbmQ7CgogICAgICAgIGF1dG8gaXQgPSBzb2MuZmluZCh4KTsKCiAgICAgICAgc29jLmVyYXNlKGl0KTsKCiAgICAgICAgcGFpcjxpbnQsaW50PnA7CgoKCiAgICAgICAgcCA9IG1ha2VfcGFpcihmLW1pbm4gLCBzLW1pbm4pOwoKICAgICAgICBzb2NbeF09cDsgCiAgICB9CgogICAgaW50IGNudGw9MCxjbnRyPTA7CgoKCiAgICBmb3IoYXV0byBbeCx5XTpzb2MpCiAgICB7CiAgICAgICAgaWYoeS5maXJzdCkKICAgICAgICAgICAgY250bCs9eS5maXJzdDsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGNudHIrPXkuc2Vjb25kOwogICAgfQoKICAgIGlmKGNudGwgPT0gY250cil7CiAgICAgICAgY291dDw8Y250cjw8IlxuIjsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgdGNvc3QgPSBhYnMoY250bCAtY250cikvMjsKCiAgICB2ZWN0b3I8aW50PiB2OwoKICAgIGZvcihhdXRvIFt4LHldIDogc29jKQogICAgewogICAgICAgIHYucGIoeS5maXJzdCt5LnNlY29uZCk7CiAgICB9CgogICAgaW50IGNudD0wOwoKICAgIGludCBleHRyYWNvc3QgPSAobi0gMipwYWlycykvMjsKCiAgICBzb3J0KHYuYmVnaW4oKSx2LmVuZCgpLGdyZWF0ZXI8aW50PigpKTsKCgogICAgZm9yKGF1dG8geDp2KQogICAgewogICAgICAgIGludCBibiA9IHgvMjsKCgogICAgICAgIGlmKGJuK2NudCA+IHRjb3N0KXsKCiAgICAgICAgICAgIGludCBsZnQgPSB0Y29zdCAgLSBjbnQ7CgogICAgICAgICAgICBleHRyYWNvc3QtPWxmdDsKICAgICAgICAgICAgY250Kz0xOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CgogICAgICAgIGV4dHJhY29zdC09Ym47CiAgICAgICAgY250Kz1ibjsKCiAgICAgICAgaWYoY250PT10Y29zdCkKICAgICAgICAgICAgYnJlYWs7CiAgICAKICAgIH0KCiAgICBjb3V0PDwgZXh0cmFjb3N0ICsgIHRjb3N0PDwiXG4iOwp9CiAKaW50ICBtYWluKCkKewogICAgaW50IHQ9MTsKICAgIGNpbj4+dDsKCiAgICB3aGlsZSh0LS0pCiAgICB7CiAgICAgICAgc29sdmUoKTsKICAgIH0KfQoKCg==