#include<cstdio>
#include<cstdlib>
#include<vector>
#include<utility>
#include<cstring>

using namespace std;

int gcd(int a,int b){
  return b?gcd(b,a%b):a;
}

int main(){
  int T;
  scanf("%d",&T);
  while(T--){
    int N;
    scanf("%d",&N);
    vector<pair<int,int> > v[16];
    while(N--){
      char buf[2049];
      scanf("%s",buf);
      int l=strlen(buf);
      for(int i=0;i<l;i+=2){
	char n[3]={};
	n[0]=buf[i];
	n[1]=buf[i+1];
	int b=strtol(n,nullptr,16);
	for(int j=0;j<16;j++){
	  if(b>>j&1){
	    v[j].push_back((i==0)?make_pair(0,1):make_pair(i/gcd(i,l),l/gcd(i,l)));
	  }
	}
      }
    }
    int den=1;
    for(auto e:v){
      for(auto f:e){
	den=den*f.second/gcd(den,f.second);
	if(den>1024)goto fail;
      }
    }
    {
      int syn[1024]={};
      for(int i=0;i<16;i++){
	for(auto e:v[i]){
	  syn[e.first*den/e.second]|=1<<i;
	}
      }
      for(int i=0;i<den;i++){
	printf("%02X",syn[i]);
      }
      puts("");
      continue;
    }
  fail:
    puts("Too complex.");
  }
}