#include<bits/stdc++.h>
using namespace std;
int a[100005];
void Solve()
{
int n,l,r,maxx=-1,minn=0x3f3f3f3f;
long long sum=0;
cin>>n>>l>>r;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+l,a+r);
if(l!=1) sort(a+1,a+l-1);
if(r!=n) sort(a+r+1,a+n+1);
// for(int i=1;i<=n;i++) cout<<a[i]<<" ";cout<<endl;
for(int i=l;i<=r;i++) sum+=a[i];
long long sum1=0,sum2=0;
if(l==1&&r==n) cout<<sum;
else if(l==1&&r!=n)
{
int j=r;
for(int i=r+1;i<=n&&j>=l;i++,j--)
{
if(a[j]<=a[i]) break;
sum1+=a[j],sum2+=a[i];
}
cout<<sum-sum1+sum2;
}
else if(l!=1&&r==n)
{
int j=r;
for(int i=l-1;i>=1&&j>=l;i--,j--)
{
if(a[j]<=a[i]) break;
sum1+=a[j],sum2+=a[i];
}
cout<<sum-sum1+sum2;
}
else
{
long long ans=0x3f3f3f3f3f3f3f3f;
int j=r;
for(int i=l-1;i>=1&&j>=l;i--,j--)
{
if(a[j]<=a[i]) break;
sum1+=a[j],sum2+=a[i];
}
ans=min(ans,sum-sum1+sum2);
j=r;sum1=sum2=0;
for(int i=r+1;i<=n&&j>=l;i++,j--)
{
if(a[j]<=a[i]) break;
sum1+=a[j],sum2+=a[i];
}
ans=min(ans,sum-sum1+sum2);
cout<<ans;
}
cout<<endl;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
int T;cin>>T;
while(T--) Solve();
return 0;
}
别说我WA on test 2 就来问,因为即使有了数据也没什么用