#include<iostream>
#include<bits/stdc++.h>//万能头文件
#include<cstdio>
#include<cmath>
#include<algorithm>//sort函数库
#include<cstring>
#include<cstdlib>
#include<ctime>
#define gets(S) fgets(S,sizeof(S),stdin)
using namespace std;
char word1[1000];
char word2[10000];
char word3[1000];
char word4[1000];
char ans[407][28];
int main()
{
fgets(word1, 1000, stdin);
fgets(word2, 1000, stdin);
fgets(word3, 1000, stdin);
fgets(word4, 1000, stdin);
int len1 = strlen(word1), len2 = strlen(word2), len3 = strlen(word3), len4 = strlen(word4);
int flaga = 404, flagb = 404, flagc = 404, flagd = 404, flage = 404, flagf = 404, flagg = 404, flagh = 404, flagi = 404;
int flagj = 404, flagk = 404, flagl = 404, flagm = 404, flagn = 404, flago = 404, flagp = 404, flagq = 404;
int flagr = 404, flags = 404, flagt = 404, flagu = 404, flagv = 404, flagw = 404, flagx = 404, flagy = 404, flagz = 404;
for (int i = 0; i <= len1; i++)
{
switch (word1[i])
{
case 'A':ans[flaga][1] = '*'; flaga--; break;
case 'B':ans[flagb][2] = '*'; flagb--; break;
case 'C':ans[flagc][3] = '*'; flagc--; break;
case 'D':ans[flagd][4] = '*'; flagd--; break;
case 'E':ans[flage][5] = '*'; flage--; break;
case 'F':ans[flagf][6] = '*'; flagf--; break;
case 'G':ans[flagg][7] = '*'; flagg--; break;
case 'H':ans[flagh][8] = '*'; flagh--; break;
case 'I':ans[flagi][9] = '*'; flagi--; break;
case 'J':ans[flagj][10] = '*'; flagj--; break;
case 'K':ans[flagk][11] = '*'; flagk--; break;
case 'L':ans[flagl][12] = '*'; flagl--; break;
case 'M':ans[flagm][13] = '*'; flagm--; break;
case 'N':ans[flagn][14] = '*'; flagn--; break;
case 'O':ans[flago][15] = '*'; flago--; break;
case 'P':ans[flagp][16] = '*'; flagp--; break;
case 'Q':ans[flagq][17] = '*'; flagq--; break;
case 'R':ans[flagr][18] = '*'; flagr--; break;
case 'S':ans[flags][19] = '*'; flags--; break;
case 'T':ans[flagt][20] = '*'; flagt--; break;
case 'U':ans[flagu][21] = '*'; flagu--; break;
case 'V':ans[flagv][22] = '*'; flagv--; break;
case 'W':ans[flagw][23] = '*'; flagw--; break;
case 'X':ans[flagx][24] = '*'; flagx--; break;
case 'Y':ans[flagy][25] = '*'; flagy--; break;
case 'Z':ans[flagz][26] = '*'; flagz--; break;
}
}
for (int i = 0; i <= len2; i++)
{
switch (word2[i])
{
case 'A':ans[flaga][1] = '*'; flaga--; break;
case 'B':ans[flagb][2] = '*'; flagb--; break;
case 'C':ans[flagc][3] = '*'; flagc--; break;
case 'D':ans[flagd][4] = '*'; flagd--; break;
case 'E':ans[flage][5] = '*'; flage--; break;
case 'F':ans[flagf][6] = '*'; flagf--; break;
case 'G':ans[flagg][7] = '*'; flagg--; break;
case 'H':ans[flagh][8] = '*'; flagh--; break;
case 'I':ans[flagi][9] = '*'; flagi--; break;
case 'J':ans[flagj][10] = '*'; flagj--; break;
case 'K':ans[flagk][11] = '*'; flagk--; break;
case 'L':ans[flagl][12] = '*'; flagl--; break;
case 'M':ans[flagm][13] = '*'; flagm--; break;
case 'N':ans[flagn][14] = '*'; flagn--; break;
case 'O':ans[flago][15] = '*'; flago--; break;
case 'P':ans[flagp][16] = '*'; flagp--; break;
case 'Q':ans[flagq][17] = '*'; flagq--; break;
case 'R':ans[flagr][18] = '*'; flagr--; break;
case 'S':ans[flags][19] = '*'; flags--; break;
case 'T':ans[flagt][20] = '*'; flagt--; break;
case 'U':ans[flagu][21] = '*'; flagu--; break;
case 'V':ans[flagv][22] = '*'; flagv--; break;
case 'W':ans[flagw][23] = '*'; flagw--; break;
case 'X':ans[flagx][24] = '*'; flagx--; break;
case 'Y':ans[flagy][25] = '*'; flagy--; break;
case 'Z':ans[flagz][26] = '*'; flagz--; break;
}
}
for (int i = 0; i <= len3; i++)
{
switch (word3[i])
{
case 'A':ans[flaga][1] = '*'; flaga--; break;
case 'B':ans[flagb][2] = '*'; flagb--; break;
case 'C':ans[flagc][3] = '*'; flagc--; break;
case 'D':ans[flagd][4] = '*'; flagd--; break;
case 'E':ans[flage][5] = '*'; flage--; break;
case 'F':ans[flagf][6] = '*'; flagf--; break;
case 'G':ans[flagg][7] = '*'; flagg--; break;
case 'H':ans[flagh][8] = '*'; flagh--; break;
case 'I':ans[flagi][9] = '*'; flagi--; break;
case 'J':ans[flagj][10] = '*'; flagj--; break;
case 'K':ans[flagk][11] = '*'; flagk--; break;
case 'L':ans[flagl][12] = '*'; flagl--; break;
case 'M':ans[flagm][13] = '*'; flagm--; break;
case 'N':ans[flagn][14] = '*'; flagn--; break;
case 'O':ans[flago][15] = '*'; flago--; break;
case 'P':ans[flagp][16] = '*'; flagp--; break;
case 'Q':ans[flagq][17] = '*'; flagq--; break;
case 'R':ans[flagr][18] = '*'; flagr--; break;
case 'S':ans[flags][19] = '*'; flags--; break;
case 'T':ans[flagt][20] = '*'; flagt--; break;
case 'U':ans[flagu][21] = '*'; flagu--; break;
case 'V':ans[flagv][22] = '*'; flagv--; break;
case 'W':ans[flagw][23] = '*'; flagw--; break;
case 'X':ans[flagx][24] = '*'; flagx--; break;
case 'Y':ans[flagy][25] = '*'; flagy--; break;
case 'Z':ans[flagz][26] = '*'; flagz--; break;
}
}
for (int i = 0; i <= len4; i++)
{
switch (word4[i])
{
case 'A':ans[flaga][1] = '*'; flaga--; break;
case 'B':ans[flagb][2] = '*'; flagb--; break;
case 'C':ans[flagc][3] = '*'; flagc--; break;
case 'D':ans[flagd][4] = '*'; flagd--; break;
case 'E':ans[flage][5] = '*'; flage--; break;
case 'F':ans[flagf][6] = '*'; flagf--; break;
case 'G':ans[flagg][7] = '*'; flagg--; break;
case 'H':ans[flagh][8] = '*'; flagh--; break;
case 'I':ans[flagi][9] = '*'; flagi--; break;
case 'J':ans[flagj][10] = '*'; flagj--; break;
case 'K':ans[flagk][11] = '*'; flagk--; break;
case 'L':ans[flagl][12] = '*'; flagl--; break;
case 'M':ans[flagm][13] = '*'; flagm--; break;
case 'N':ans[flagn][14] = '*'; flagn--; break;
case 'O':ans[flago][15] = '*'; flago--; break;
case 'P':ans[flagp][16] = '*'; flagp--; break;
case 'Q':ans[flagq][17] = '*'; flagq--; break;
case 'R':ans[flagr][18] = '*'; flagr--; break;
case 'S':ans[flags][19] = '*'; flags--; break;
case 'T':ans[flagt][20] = '*'; flagt--; break;
case 'U':ans[flagu][21] = '*'; flagu--; break;
case 'V':ans[flagv][22] = '*'; flagv--; break;
case 'W':ans[flagw][23] = '*'; flagw--; break;
case 'X':ans[flagx][24] = '*'; flagx--; break;
case 'Y':ans[flagy][25] = '*'; flagy--; break;
case 'Z':ans[flagz][26] = '*'; flagz--; break;
}
}
ans[405][1] = 'A', ans[405][2] = 'B', ans[405][3] = 'C', ans[405][4] = 'D', ans[405][5] = 'E';
ans[405][6] = 'F', ans[405][7] = 'G', ans[405][8] = 'H', ans[405][9] = 'I', ans[405][10] = 'J', ans[405][11] = 'K';
ans[405][12] = 'L', ans[405][13] = 'M', ans[405][14] = 'N', ans[405][15] = 'O', ans[405][16] = 'P';
ans[405][17] = 'Q', ans[405][18] = 'R', ans[405][19] = 'S', ans[405][20] = 'T', ans[405][21] = 'U';
ans[405][22] = 'V', ans[405][23] = 'W', ans[405][24] = 'X', ans[405][25] = 'Y', ans[405][26] = 'Z';
int compare[27] = { flaga, flagb, flagc, flagd, flage, flagf, flagg, flagh, flagi, flagj, flagk, flagl, flagm, flagn, flago, flagp, flagq, flagr, flags, flagt, flagu, flagv, flagw, flagx, flagy, flagz };
sort(compare, compare + 27);
for (int i =compare[1]+1; i <= 405; i++)
{
for (int j = 1; j <= 27; j++)
{
cout << ans[i][j] << " ";
}
cout << endl;
}
return 0;
}