rendered paste body#include <iostream>
#include <vector>
#include <map>
#include <set>
using namespace std;
int main(){
vector<string> vs;
while(true){
string s;
cin>>s;
if(s=="#"){
break;
}
vs.push_back(s);
}
map<char,int> mp;
for(int i=0;i<vs.size();i++){
for(int j=0;j<vs[i].size();j++){
mp[vs[i][j]]=100;
}
}
char g[26][26];
for(int i=0;i<26;i++){
for(int j=0;j<26;j++){
g[i][j]='0';
}
}
for(int i=0;i<vs.size()-1;i++){
for(int j=0;j<vs[i].size();j++){
if(vs[i][j]!=vs[i+1][j]){
g[int(vs[i][j])-65][int(vs[i+1][j])-65]=vs[i+1][j];
//char c=vs[i][j];
/*
for(int k=0;k<26;i++){
c=g[int(c)-65][k];
if(c!='0'){
cout<<c;
mp[c]=mp[g[int(c)-65][k]]-1;
break;
}
}
*/
break;
}
}
}
for(int i=0;i<26;i++){
for(int j=0;j<26;j++){
cout<<g[i][j]<<" ";
}
cout<<endl;
}
char c=vs[0][0];
cout<<"c:"<<c;
for(int i=0;i<26;i++){
c=g[int(c)-65][i];
cout<<g[int(c)-65][i];
/*
if(c!='0'){
cout<<c;
break;
}
*/
}
/*
while(c!='0'){
cout<<c;
for(int i=0;i<26;i++){
c=g[int(c)-65][i];
if(c!='0'){
break;
}
}
}
*/
return 0;
}