#include<bits/stdc++.h>
using namespace std;
int T;
int n,a,e,p,q;
char ansstr[500000];
bool bb[500000];
void ans(string s,int num)
{
while (num)
{
int x=-1,y=-1,bb1=0,bb2=0;
for (int i=0;i<s.length();i++)
{
if (x==-1&&s[i]=='A'&&!bb[i])
x=i,bb[i]=1,bb1=1;
if (y==-1&&s[i]=='B'&&!bb[i])
y=i,bb[i]=1,bb2=1;
}
if (bb1&&bb2)
{
swap(s[x],s[y]);
num--;
}
else break;
}
for (int i=0;i<s.length();i++)
{
if (!num)break;
if (!bb[i]&&s[i]=='B')
{
s[i]=='A';
bb[i]=1;
}
}
cout<<s<<'\n';
}
int main()
{
cin>>T;
for (int t=1;t<=T;t++)
{
memset(bb,0,sizeof(bb));
int mini=0,maxi=0;
p=0;q=0;
cin>>n>>a>>e;
string s;
cin>>s;
for (int i=0;i<s.length();i++)
{
if (s[i]=='A')p++;
else q++;
}
mini=abs(a-p);
if (p>=a)maxi=mini+2*min(q,a);
else if(q>=a)maxi=p+a;
else maxi=2*n+q-a;
if (e>=mini&&e<=maxi&&(e-mini)%2==0)
{
int temp=a-p;
while(temp<=-1)
{
for (int i=0;i<s.length();i++)
{
if (s[i]=='A')
{
s[i]='B';
temp++;
bb[i]=1;
break;
}
}
}
while(temp>=1)
{
for (int i=0;i<s.length();i++)
{
if (s[i]=='B')
{
s[i]='A';
temp--;
bb[i]=1;
break;
}
}
}
ans(s,(e-mini)/2);
}
else cout<<-1<<'\n';
}
}