#include<bits/stdc++.h>
using namespace std;
string str[25];
struct zi{
int bian;
int duo;
}k[300];
char sd[17]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
bool pai(zi a,zi b)
{
if (a.duo==b.duo)
{
return a.bian<b.bian;
}
else
{
return a.duo>b.duo;
}
}
int fan(string s)
{
reverse(s.begin(),s.end());
int sum=0;
for (int i=0;i<=1;i++)
{
int k2;
for (int j=0;j<=15;j++)
{
if (s[i]==sd[j])
{
k2=j;
break;
}
}
sum+=k2*pow(16,i);
}
return sum;
}
string _16(int g)
{
string s="";
for (int i=1;i<=2;i++)
{
if (g%16<10)
{
s+=char(g%16+'0');
}
else
{
s+=char(g%16+'A'-10);
}
g/=16;
}
reverse(s.begin(),s.end());
return s;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
int n;
cin>>n;
string s;
getline(cin,s);
for (int i=0;i<=270;i++)
{
k[i].bian=i;
}
for (int i=1;i<=n;i++)
{
getline(cin,s);
str[i]=s;
for (int j=0;j<=s.size()-1;j+=2)
{
int l=fan(s.substr(j,2));
k[l].duo++;
}
}
/*for (int i=0;i<=255;i++)
{
cout<<_16(k[i].bian)<<" "<<k[i].duo<<'\n';
}*/
sort(k,k+256,pai);
for (int i=0;i<=15;i++)
{
cout<<_16(k[i].bian);
}
cout<<'\n';
for (int i=1;i<=n;i++)
{
s=str[i];
for (int j=0;j<=s.size()-1;j+=2)
{
int min=1000,lp;
for (int k23=0;k23<=15;k23++)
{
int h=abs(fan(s.substr(j,2))-k[k23].bian);
if (h<min)
{
min=h;
lp=k23;
}
}
if (lp%16<10)
{
cout<<char(lp%16+'0');
}
else
{
cout<<char(lp%16+'A'-10);
}
}
cout<<'\n';
}
return 0;
}
这不科学!!!!!!!!!!!!!!!!