#include<bits/stdc++.h>
using namespace std;
int n,m;
short p[22][22],f[20];
struct st0{
short num,x;
} cnt[257];
bool cmp(st0 a,st0 b){
if(a.x==b.x)
return a.num<b.num;
return a.x>b.x;
}
int main(){
cin>>n;
for(int i=0;i<257;i++)
cnt[i].num=i,cnt[i].x=0;
for(int i=1;i<=n;i++){
string s;
cin>>s;
m=s.size()/2;
for(int j=0;j<s.size();j+=2){
p[i][j/2+1]=(s[j]>='A'?s[j]-'A'+10:s[j]-'0')*16+(s[j+1]>='A'?s[j+1]-'A'+10:s[j+1]-'0');
cnt[p[i][j/2+1]].x++;
}
}
sort(cnt,cnt+256,cmp);
for(int i=0;i<16;i++){
f[i]=cnt[i].num;
if(cnt[i].num<10)
cout<<"0";
printf("%X",cnt[i].num);
}
cout<<endl;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
int t=0;
for(int k=1;k<16;k++)
if(abs(f[t]-p[i][j])>abs(f[k]-p[i][j]))
t=k;
printf("%X",t);
}
cout<<endl;
}
return 0;
}