#include<bits/stdc++.h>
using namespace std;
int main() 
{
    int t;
    cin>>t;
    while(t--)
    {
        int a,b;
        cin>>a>>b;
        string s;
        cin>>s;
        int i,n=a+b;
        for(i=0;i<n;i++)
        {
            if(s[i]=='0')
            a--;
            else if(s[i]=='1')
            b--;
        }
        if(a<0||b<0)
        {
            cout<<"-1"<<endl;
            continue;
        }
        int flag=1,count=0;
        for(i=0;i<n;i++)
        {
            if(s[i]!='?'&&s[n-i-1]!='?'&&s[n-i-1]!=s[i])
            {
                flag=0;
                break;
            }
            else if(s[i]=='?'&&s[n-1-i]!='?')
            {
                if(s[n-1-i]=='0')
                {
                    if(a)
                    {
                        s[i]='0';
                        a--;
                    }
                    else
                    {
                        flag=0;
                        break;
                    }
                }
                else
                {
                    if(b)
                    {
                        s[i]='1';
                        b--;
                    }
                    else
                    {
                        flag=0;
                        break;
                    }
                }
            }
            else if(s[i]=='?'&&s[n-i-1]=='?')
            count++;
        }
        if(flag==0)
        {
            cout<<"-1"<<endl;
            continue;
        }
        if(count!=a+b||(count%2==0&&a%2))
        cout<<"-1"<<endl;
        else
        {
            if(n%2&&s[(n-1)/2]=='?')
            {
                if(a%2)
                {
                    s[(n-1)/2]='0';
                    a--;
                }
                else
                {
                    s[(n-1)/2]='1';
                    b--;
                }
            }
            for(i=0;i<n;i++)
            {
                
                if(s[i]=='?'&&s[n-1-i]=='?')
                {
                    if(a)
                    {
                        s[i]='0';
                        s[n-1-i]='0';
                        a-=2;
                    }
                    else
                    {
                        s[i]='1';
                        s[n-1-i]='1';
                        b-=2;
                    }
                }
            }
            cout<<s<<endl;
        }
    }
    return 0;
}