#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
int n,l=0;
string a[45],b[45];
struct ww{
int t;
int w;
}ar[290];
bool cmp(ww ar,ww r){
return r.w<ar.w;
}
int f(char x,char y){
int r=0;
if(y>'9') r+=y-'A'+10;
else r+=y-'0';
if(x>'9') r+=16*(x-'A'+10);
else r+=16*(x-'0');
return r;
}
int main() {
for(int i = 0;i<280;i++) ar[i].t=i;
cin>>n;
for(int i = 0;i<=n;i++){
getline(cin,a[i]);
}
l=a[1].size();
for(int i = 1;i<=n;i++){
for(int j = 0;a[i][j];j+=2){
char x=a[i][j],y=a[i][j+1];
ar[f(x,y)].w++;
}
}
stable_sort(ar,ar+256,cmp);
for(int i = 0;i<16;i++){
printf("%02X",ar[i].t);
}
cout<<endl;
int ff=0,min=9999,k=0;
char x='\0',y='\0';
for(int i = 1;i<=n;i++){
for(int j = 0;a[i][j];j+=2){
x=a[i][j],y=a[i][j+1];
ff= f(x,y),min=9999,k=0;
for(int kk = 0;kk<16;kk++){
if(abs(ar[kk].t-ff)<min) {
min=abs(ar[kk].t-ff);
k=kk;
}
}
b[i]+=(k>9)?(k+'A'-10):(k+'0');
}
}
for(int i = 1;i<=n;i++){
cout<<b[i]<<endl;
}
return 0;
}