#include<bits/stdc++.h>
#define cs const
#define pb push_back
using namespace std;

cs int N = 3e5 + 5;
int T, n;
char a[N], b[N], c[N], ans[N];

void work(char *a, char *b, int o) {
	int i = 0, j = 0, k = 0; 
	for(; i < n + n || j < n + n; ) {
		while(i < n + n && a[i] - '0' != o)  
			ans[k++] = a[i], ++i;
		while(j < n + n && b[j] - '0' != o)
			ans[k++] = b[j], ++j;
		ans[k++] = o + '0', ++i, ++j;
	}
	while(k < 3 * n) ans[k++] = '1';
	for(int i = 0; i < 3 * n; i++)
		putchar(ans[i]); puts("");
}
void Main() {
	scanf("%d%s%s%s", &n, a, b, c);
	int ca[2], cb[2], cc[2];
	ca[0] = ca[1] = cb[0] = cb[1] = cc[0] = cc[1] = 0;
	for(int i = 0; i < n + n; i++) 
	++ ca[a[i] - '0'], ++ cb[b[i] - '0'], ++ cc[c[i] - '0'];
	if(ca[0] >= n && cb[0] >= n) 
		return work(a, b, 0), void();
	if(cb[0] >= n && cc[0] >= n) 
		return work(b, c, 0), void();
	if(ca[0] >= n && cc[0] >= n) 
		return work(a, c, 0), void();
	if(ca[1] >= n && cb[1] >= n) 
		return work(a, b, 1), void();
	if(cb[1] >= n && cc[1] >= n)
		return work(b, c, 1), void();
	if(ca[1] >= n && cc[1] >= n)
		return work(a, c, 1), void();	
}
int main() {
	#ifdef FSYo
	freopen("1.in", "r", stdin);
	#endif
	cin >> T;
	while(T--) Main();
	return 0;
}