#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
#pragma GCC optimization("unroll-loops")

#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define eb emplace_back
#define mk make_pair
#define fi first
#define se second
#define mset(a,b) memset(a, b, sizeof(a))
#define dbg(x) cout << "[" << #x << "]: " << x << endl;
#define forn(i,n) for(int i=0; i < n;i++)
#define forab(i,a,b) for(int i = a; i <= b; i++)
#define forba(i,b,a) for(int i = b; i >= a; i--)
#define each(val, v) for(auto val : v)
#define abs(u) (u >= 0 ? u : -u)

using ll = long long;
using pii = pair<int,int>;
using pll = pair<ll,ll>;
using vi = vector<int>;
using vl = vector<ll>;

const int MAXN = 2e5 + 5;
const int INF = 0x3f3f3f3f;
const int MOD = 1e9+7;

bool solved;

void sub_string(string a, string b){

    int n = a.size();

    int n2 = n/2;


    vi c0(2,0);
    vi c1(2,0);

    forn(i,n){
        if(a[i] == '0'){
            c0[0]++;
        }else{
            c1[0]++;
        }

        if(b[i] == '0'){
            c0[1]++;
        }else{
            c1[1]++;
        }
    }

    int min1 = min(c1[0], c1[1]);

    int min0 = min(c0[0], c0[1]);

    if(min0 >= n2 || min1 >= n2 ){

        char errado = '0';

        if(min1  < n2) errado = '1';

        int i = 0;
        int j = 0;

        string ans = "";

        while(i < n && j < n){

            if(a[i] == b[j]){
                ans += a[i];
                i++;
                j++;
            }else if(a[i] == errado){
                ans += a[i];
                i++;
            }else{
                ans += b[j];
                j++;
            }


        }

        while(i < n){
            ans += a[i];
            i++;
        }

        while(j < n){
            ans += b[j];
            j++;
        }

        cout << ans << '\n';
        solved = true;
        return;

        

    }
}

void solve(){

    int n;
    cin >> n;

    vector<string> a(3);

    forn(i,3){
        cin >> a[i];
    }
    solved = false;
    forn(i,3){
        forn(j,3){
            
            if(i == j) continue;

            sub_string( a[i], a[j] );
            if(solved) break;

        }
        if(solved) break;
    }
}

int main(){

    ios::sync_with_stdio(false); cin.tie(NULL);

    int t = 1;
    cin >> t;
    while(t--){
        solve();
    }

    return 0;
}