P1598
#include<algorithm>
#include<cmath>
#include<cstring>
#include<cstdio>
#include<iomanip>
#include<iostream>
#include<queue>
#include<deque>
#include<stack>
#include<list>
#include<vector>
#include<map>
#include<set>
#include<climits>
#include<utility>
using namespace std;
#define inr int
#define reutnr return
#define itn int
#define fro for
#define enld endl
string s1,s2,s3,s4;
map<char,int>mp;
int len1,len2,len3,len4;
int maxx=INT_MIN;
int main()
{
getline(cin,s1);
getline(cin,s2);
getline(cin,s3);
getline(cin,s4);
len1=s1.size();
len2=s2.size();
len3=s3.size();
len4=s4.size();
for(int i=0;i<len1;i++){
mp[s1[i]]++;
}
for(int i=0;i<len2;i++){
mp[s2[i]]++;
}
for(int i=0;i<len3;i++){
mp[s3[i]]++;
}
for(int i=0;i<len4;i++){
mp[s4[i]]++;
}
for(char i='A';i<='Z';i++){
maxx=max(maxx,mp[i]);
}
while(--maxx){
for(char i='A';i<='Z';i++){
if(mp[i]==maxx+1||mp[i]==maxx){
cout<<"* ";
mp[i]--;
}else{
cout<<" ";
}
}
cout<<endl;
}
for(char i='A';i<='Y';i++){
cout<<char(i)<<' ';
}
cout<<'Z';
return 0;
}