#include<bits/stdc++.h>
using namespace std;
int n,jlen;
string a[25];
int b[300];
int w[25][25];
int y[300];
int maxn[25],maxs[25];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
for(int j=0;j<a[i].size();j+=2){
jlen=j;
int c=(int)(a[i][j]),d=(int)(a[i][j+1]);
if(c>=65){
c-=55;
}
else{
c-=48;
}
if(d>=65){
d-=55;
}
else{
d-=48;
}
c*=16;
b[c+d]++;
w[i][j/2]=c+d;
}
}
for(int i=255;i>=0;i--){
for(int j=15;j>=0;j--){
if(b[i]>=maxs[j]){
maxn[j+1]=maxn[j];
maxn[j]=i;
maxs[j+1]=maxs[j];
maxs[j]=b[i];
}
}
}
for(int i=0;i<=15;i++){
if(maxn[i]<16){
cout<<"0"<<std::hex<<uppercase<<maxn[i];
}
else{
cout<<std::hex<<uppercase<<maxn[i];
}
}
cout<<endl;
for(int i=1;i<=n;i++){
for(int j=0;j<jlen/2+1;j++){
int mins=2147483647,z=0;
for(int l=15;l>=0;l--){
if(max(maxn[l],w[i][j])-min(maxn[l],w[i][j])<mins){
mins=max(maxn[l],w[i][j])-min(maxn[l],w[i][j]);
z=l;
}
if(max(maxn[l],w[i][j])-min(maxn[l],w[i][j])==mins&&maxn[l]<maxn[z]){
mins=max(maxn[l],w[i][j])-min(maxn[l],w[i][j]);
z=l;
}
}
cout<<std::hex<<uppercase<<z;
}
cout<<endl;
}
}