#include<bits/stdc++.h>
using namespace std;

#define fi first
#define se second
#define rng(i, a, b) for (int i=int(a);i<int(b);++i)
#define rep(i, b) rng(i, 0, b) 
#define gnr(i, a, b) for (int i=int(b)-1;i>=int(a);--i)
#define per(i, b) gnr(i, 0, b)
#define all(obj) begin(obj), end(obj)
#define allr(obj) rbegin(obj), rend(obj)
#define cinv(a) rep(i,(int)a.size()) cin >> a[i] 
#define debug(a) rep(i,(int)a.size()) cout << a[i] << " "
#define show(x) cerr<<#x<<" = "<<x<<endl;
#define pb push_back
#define eb emplace_back
#define sz(x) (int)(x).size()
#define dame {puts("-1"); return 0;}
typedef long long ll;
typedef pair<int, int> Pi;
typedef vector<Pi> vp;
typedef vector<vp> vvp;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<ll> vl;
typedef vector<vl> vvl;
typedef vector<string> vs;
typedef vector<bool> vb;
typedef vector<vb> vvb;

template<typename T>
bool chmax(T& a, const T& b){if(a < b){a=b;return true;}return false;}
template<typename T>
bool chmin(T& a, const T& b){if(a > b){a=b;return true;}return false;}
template<typename T>
using min_priority_queue = priority_queue<T, vector<T>, greater<T>>;


const int di[] = {0, -1, 0, 1};
const int dj[] = {1, 0, -1, 0};
const int MOD = 1e9+7;
const int INF = 1e9;
const ll LINF = 1e11;
const double eps = 1e-10;
const char nl = '\n';

ll power(ll a, ll b) {return b? power(a*a%MOD, b/2)*(b%2?a:1)%MOD:1;}

ll C(int n, int k)
{
	ll x = 1, y = 1;
	for (int i = 1; i <= k; ++i)
	{
		x = x*(n-i+1)%MOD;
		y = y*i%MOD;
	}
	return x*power(y, MOD-2)%MOD;
}

struct UF
{
	vi d;
	UF(int n) : d(n, -1) {}
	int root(int x)
	{
		if (d[x] < 0) return x;
		return d[x] = root(d[x]);
	}
	bool unite(int x, int y)
	{
		x = root(x); y = root(y);
		if (x == y) return false;
		if (d[x] > d[y]) swap(x, y);
		d[x] += d[y];
		d[y] = x;
		return true;
	}
	bool same(int x, int y) { return root(x) == root(y); }
	int size(int x) { return -d[root(x)]; }
};

int main() 
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	int t; cin >> t;
	while(t--)
	{
		int n; cin >> n;
		string a, b, c; cin >> a >> b >> c;
		cout << string(n, '0') + string(n, '1') + '0' << nl;
	}
}

#include <bits/stdc++.h>
using namespace std;
#ifdef tabr
#include "library/debug.cpp"
#else
#define debug(...)
#endif

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    int tt;
    cin >> tt;
    while (tt--) {
        int n;
        cin >> n;
        vector<string> s(3);
        vector<int> a(4);
        for (int i = 0; i < 3; i++) {
            cin >> s[i];
            a[(s[i][0] - '0') * 2 + (s[i].back() - '0')] = 1;
        }
        for (int i = 0; i < 4; i++) {
            if (!a[i]) {
                string ans;
                if (i == 0) {
                    ans += string(n, '0');
                    ans += "1";
                    ans += string(n, '0');
                } else if (i == 1) {
                    ans += string(n, '1');
                    ans += string(n, '0');
                    ans += "1";
                } else if (i == 2) {
                    ans += string(n, '0');
                    ans += string(n, '1');
                    ans += "0";
                } else {
                    ans += string(n, '1');
                    ans += "0";
                    ans += string(n, '1');
                }
                cout << ans << '\n';
                break;
            }
        }
    }
    return 0;
}