#include <iostream>
#include <cstring>
using namespace std;
const int MAX_LENGTH = 100;
int main() {
char array[MAX_LENGTH + 1], mt[MAX_LENGTH + 1][MAX_LENGTH + 1];
int counter = 0, lengthFin = 0;
while (cin.getline(array, MAX_LENGTH)) {
int length = strlen(array);
for (int j = 0; j < length; ++j) {
mt[counter][j] = array[j];
}
if (length > lengthFin) {
lengthFin = length;
}
++counter;
}
for (int i = 0; i < lengthFin; ++i) {
for (int j = 0; j < lengthFin; ++j) {
if (mt[i][j] == ' ') {
mt[i][j] = '*';
}
}
}
for (int i = 0; i < lengthFin; ++i) {
for (int j = 0; j < lengthFin; ++j) {
cout << mt[i][j] <<" ";
}
cout <<",\n"; //
}
for (int i = lengthFin - 1; i >= 0; --i) {
int asterix = 0;
for (int j = 0 ; j < lengthFin; ++j) {
if (mt[j][i] == '*') {
++asterix;
}
if ((mt[j][i] >= 'a' && mt[j][i] <= 'z') || (mt[j][i] >= 'A' && mt[j][i] <= 'Z')) {
//cout << mt[j][i];
}
}
if ( asterix < lengthFin) {
//cout <<"\n";
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIApjb25zdCBpbnQgTUFYX0xFTkdUSCA9IDEwMDsKIAogCmludCBtYWluKCkgewoJY2hhciBhcnJheVtNQVhfTEVOR1RIICsgMV0sIG10W01BWF9MRU5HVEggKyAxXVtNQVhfTEVOR1RIICsgMV07CglpbnQgY291bnRlciA9IDAsIGxlbmd0aEZpbiA9IDA7Cgl3aGlsZSAoY2luLmdldGxpbmUoYXJyYXksIE1BWF9MRU5HVEgpKSB7CgkJaW50IGxlbmd0aCA9IHN0cmxlbihhcnJheSk7CgkJZm9yIChpbnQgaiA9IDA7IGogPCBsZW5ndGg7ICsraikgewoJCQltdFtjb3VudGVyXVtqXSA9IGFycmF5W2pdOwoJCX0gCgkJaWYgKGxlbmd0aCA+IGxlbmd0aEZpbikgewoJCQlsZW5ndGhGaW4gPSBsZW5ndGg7CgkJfQoJCSsrY291bnRlcjsKCX0KCQoJZm9yIChpbnQgaSA9IDA7IGkgPCBsZW5ndGhGaW47ICsraSkgewoJCWZvciAoaW50IGogPSAwOyBqIDwgbGVuZ3RoRmluOyArK2opIHsKCQkJaWYgKG10W2ldW2pdID09ICcgJykgewoJCQkJbXRbaV1bal0gPSAnKic7CgkJCX0KCQl9Cgl9CgkKCWZvciAoaW50IGkgPSAwOyBpIDwgbGVuZ3RoRmluOyArK2kpIHsKCQlmb3IgKGludCBqID0gMDsgaiA8IGxlbmd0aEZpbjsgKytqKSB7CgkJCWNvdXQgPDwgbXRbaV1bal0gIDw8IiAiOwoJCX0KCQljb3V0ICA8PCIsXG4iOyAvLwoJfQoJCgkKICAgIGZvciAoaW50IGkgPSBsZW5ndGhGaW4gLSAxOyBpID49IDA7IC0taSkgewogCSAgICBpbnQgYXN0ZXJpeCA9IDA7CgkJZm9yIChpbnQgaiA9IDAgOyBqIDwgbGVuZ3RoRmluOyArK2opIHsKCQkJaWYgKG10W2pdW2ldID09ICcqJykgewoJCQkJKythc3Rlcml4OwoJCQl9CgkJCWlmICgobXRbal1baV0gPj0gJ2EnICYmIG10W2pdW2ldIDw9ICd6JykgfHwgKG10W2pdW2ldID49ICdBJyAmJiBtdFtqXVtpXSA8PSAnWicpKSB7CgkJCQkvL2NvdXQgPDwgbXRbal1baV07CgkJCX0gCgkJfQoJCWlmICggYXN0ZXJpeCA8IGxlbmd0aEZpbikgewoJCQkvL2NvdXQgIDw8IlxuIjsgCgkJfQoJfQoJcmV0dXJuIDA7Cn0=