#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], secMt[MAX_LENGTH + 1][MAX_LENGTH + 1];
int counter = 0, lengthFin = 0;
while (cin.getline(array, MAX_LENGTH)) {
int asterix = 0;
int length = strlen(array);
for (int j = 0; j < length; ++j) {
if (array[j] == '*') {
++asterix;
}
}
//cout << asterix << " " << length<< "<-\n";
if (asterix < length) {
for (int j = 0; j < length; ++j) {
mt[counter][j] = array[j];
//cout << mt[counter][j] << "<->" << array[j]<< "\n";
}
++counter;
}
lengthFin = length;
}
for (int i = 0 ; i < counter; ++i) {
for (int j = 0 ; j < lengthFin; ++j) {
// cout << mt[i][j];
}
//cout << counter<<".\n"; //counter = 3
}
int linie = counter , coloana = 0;
for (int i = 0; i < counter; ++i, --linie) {
coloana = 0;
for (int j = 0; j < lengthFin; ++j) {
// cout << mt[j][i] <<",";
if ((mt[j][i] >= 'a' && mt[j][i] <= 'z') || (mt[j][i] >= 'A' && mt[j][i] <= 'Z')) {
secMt[linie][coloana] = mt[j][i];
++coloana;
}
}
// cout <<" \n";
}
for (int i = 0 ; i < counter; ++i) {
for (int j = 0 ; j < lengthFin; ++j) {
cout << secMt[i][j];
}
cout <<".\n";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIApjb25zdCBpbnQgTUFYX0xFTkdUSCA9IDEwMDsKIAogCmludCBtYWluKCkgewoJY2hhciBhcnJheVtNQVhfTEVOR1RIICsgMV0sIG10W01BWF9MRU5HVEggKyAxXVtNQVhfTEVOR1RIICsgMV0sIHNlY010W01BWF9MRU5HVEggKyAxXVtNQVhfTEVOR1RIICsgMV07CglpbnQgY291bnRlciA9IDAsIGxlbmd0aEZpbiA9IDA7CiAKIAoJd2hpbGUgKGNpbi5nZXRsaW5lKGFycmF5LCBNQVhfTEVOR1RIKSkgewoJCWludCBhc3Rlcml4ID0gMDsKCQlpbnQgbGVuZ3RoID0gc3RybGVuKGFycmF5KTsKCQlmb3IgKGludCBqID0gMDsgaiA8IGxlbmd0aDsgKytqKSB7CgkJCQlpZiAoYXJyYXlbal0gPT0gJyonKSB7CgkJCQkJKythc3Rlcml4OwoJCQkJfQoJCQl9CgkJLy9jb3V0IDw8IGFzdGVyaXggPDwgIiAiIDw8IGxlbmd0aDw8ICI8LVxuIjsKCQkJaWYgKGFzdGVyaXggPCBsZW5ndGgpIHsKCQkJCQoJCQkJZm9yIChpbnQgaiA9IDA7IGogPCBsZW5ndGg7ICsraikgewoJCQkJbXRbY291bnRlcl1bal0gPSBhcnJheVtqXTsKCQkJCS8vY291dCA8PCBtdFtjb3VudGVyXVtqXSA8PCAiPC0+IiA8PCBhcnJheVtqXTw8ICJcbiI7CgkJCQl9CgkJCSsrY291bnRlcjsgCgkJCX0gCgkJbGVuZ3RoRmluID0gbGVuZ3RoOwoJfQogCiAKIGZvciAoaW50IGkgPSAwIDsgaSA8IGNvdW50ZXI7ICsraSkgewoJCWZvciAoaW50IGogPSAwIDsgaiA8IGxlbmd0aEZpbjsgKytqKSB7CgkJLy8JY291dCA8PCBtdFtpXVtqXTsKCQl9CgkJLy9jb3V0ICA8PCBjb3VudGVyPDwiLlxuIjsgLy9jb3VudGVyID0gMwoJfQogCiAKIAoJaW50IGxpbmllID0gY291bnRlciAsIGNvbG9hbmEgPSAwOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBjb3VudGVyOyArK2ksIC0tbGluaWUpIHsKCQljb2xvYW5hID0gMDsKCQlmb3IgKGludCBqID0gMDsgaiA8IGxlbmd0aEZpbjsgKytqKSB7CgkJLy8JY291dCA8PCBtdFtqXVtpXSA8PCIsIjsKCQkJaWYgKChtdFtqXVtpXSA+PSAnYScgJiYgbXRbal1baV0gPD0gJ3onKSB8fCAobXRbal1baV0gPj0gJ0EnICYmIG10W2pdW2ldIDw9ICdaJykpIHsKCQkJCXNlY010W2xpbmllXVtjb2xvYW5hXSA9IG10W2pdW2ldOwoJCQkJKytjb2xvYW5hOwoJCQl9IAoJCX0KCS8vCWNvdXQgPDwiIFxuIjsKCX0KIAoJZm9yIChpbnQgaSA9IDAgOyBpIDwgY291bnRlcjsgKytpKSB7CgkJZm9yIChpbnQgaiA9IDAgOyBqIDwgbGVuZ3RoRmluOyArK2opIHsKCQkJY291dCA8PCBzZWNNdFtpXVtqXTsKCQl9CgkJY291dCA8PCIuXG4iOwoJfQogCiAKCXJldHVybiAwOwp9