#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
//英语 看博友分析 抄博友程序 博弈 记忆化搜索 背
int n,a,b;
int c[10010];
int dp[10010];//抄博友分析 dp[i]表示先手取第i个数时能获得的最大分差
int inf=0x3f3f3f3f;
int dfs(int x)
{
if(dp[x]!=-inf)
{
return dp[x];
}
int op=-inf;
for(int i=x+1;i<n;i++)
{
if((c[i]-c[x])>=a && (c[i]-c[x])<=b)//抄博友程序
{
op=max(op,dfs(i));
}
}
if(op==-inf)
{
dp[x]=c[x];
}else
{
dp[x]=c[x]-op;
}
return dp[x];
}
int main()
{
int T;
cin>>T;
while(T--)
{
cin>>n>>a>>b;
memset(c,0,sizeof(c));
for(int i=0;i<n;i++)
{
cin>>c[i];
dp[i]=-inf;//抄博友程序
}
sort(c,c+n);
int ans=-inf;
for(int i=0;i<n;i++)
{
if(c[i]>=a && c[i]<=b)
{
ans=max(ans,dfs(i));
}
}
if(ans==-inf)
{
cout<<0<<endl;
}else
{
cout<<ans<<endl;
}
}
return 0;
}