#include <bits/stdc++.h>
#include <cmath>
#include <iostream>
#define ff first
#define ss second
#define pb push_back
#define N 1005
typedef long long ll;
const ll MOD=1000000007;
using namespace std;
int a[200005],cnt[2][200005];
int min(int a,int b){
	if(a>b) return b;
	else return a;
}
int max(int a,int b){
	if(a>b) return a;
	else return b;
}
int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int test;
	cin >> test;
	while(test--){
		int n,l,r;
		cin >> n >> l >> r;
		for(int i=1;i<=n;i++){
			cnt[0][i]=0;
			cnt[1][i]=0;
		}
		for(int i=1;i<=n;i++){
			cin>> a[i];
			if(l>=i) cnt[0][a[i]]++;
			else cnt[1][a[i]]++;
		}
		for(int i=1;i<=n;i++){
		    int t=min(cnt[0][i],cnt[1][i]);
			cnt[0][i]-=t;
			cnt[1][i]-=t;
		}
		int res=0,ans=0,x=0,y=0;
		for(int i=1;i<=n;i++){
			if(l>r){
				res+=(cnt[0][i]/2);
			}
			else{
				res+=(cnt[1][i]/2);
			}
			x+=cnt[0][i];
			y+=cnt[1][i];
		}
		if(l>r){
			if(res*2>=(l-r)){
				ans+=((l-r)/2);
				ans+=min(x,y);
			}
			else{
				ans+=res;
				x-=(2*res);
				ans+=x;
			}
		}
		else{
			if(res*2>=(r-l)){
				ans+=((r-l)/2);
				ans+=min(x,y);
			}
			else{
				ans+=res;
				y-=2*res;
				ans+=y;
			}
		}
		cout << ans << '\n';
	}

}