#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;
//cin.getline(array, MAX_LENGTH);
while (cin.getline(array, MAX_LENGTH)) {
int length = strlen(array);
//cout << array << " " << length<< "<-\n";
for (int j = 0; j < length; ++j) {
mt[counter][j] = array[j];
}
++counter;
lengthFin = length;
}
int linie = 0, coloana = 0;
for (int i = counter - 2; i >= 0; --i, ++linie) {
coloana = 0;
for (int j = lengthFin - 1; j >= 0; --j, ++coloana) {
// 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];
}
}
// cout <<" \n";
}
for (int i = 1 ; i < counter; ++i) {
for (int j = lengthFin ; j >= 0; --j) {
cout << secMt[i][j];
}
cout <<" \n";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBNQVhfTEVOR1RIID0gMTAwOwoKCmludCBtYWluKCkgewoJY2hhciBhcnJheVtNQVhfTEVOR1RIICsgMV0sIG10W01BWF9MRU5HVEggKyAxXVtNQVhfTEVOR1RIICsgMV0sIHNlY010W01BWF9MRU5HVEggKyAxXVtNQVhfTEVOR1RIICsgMV07CglpbnQgY291bnRlciA9IDAsIGxlbmd0aEZpbiA9IDA7CgkvL2Npbi5nZXRsaW5lKGFycmF5LCBNQVhfTEVOR1RIKTsKCQoJd2hpbGUgKGNpbi5nZXRsaW5lKGFycmF5LCBNQVhfTEVOR1RIKSkgewoJCWludCBsZW5ndGggPSBzdHJsZW4oYXJyYXkpOwoJCS8vY291dCA8PCBhcnJheSA8PCAiICIgPDwgbGVuZ3RoPDwgIjwtXG4iOwoJCQlmb3IgKGludCBqID0gMDsgaiA8IGxlbmd0aDsgKytqKSB7CgkJCQltdFtjb3VudGVyXVtqXSA9IGFycmF5W2pdOwoJCQl9CgkJKytjb3VudGVyOyAKCQlsZW5ndGhGaW4gPSBsZW5ndGg7Cgl9CglpbnQgbGluaWUgPSAwLCBjb2xvYW5hID0gMDsKCQoJZm9yIChpbnQgaSA9IGNvdW50ZXIgLSAyOyBpID49IDA7IC0taSwgKytsaW5pZSkgewoJCWNvbG9hbmEgPSAwOwoJCWZvciAoaW50IGogPSBsZW5ndGhGaW4gLSAxOyBqID49IDA7IC0taiwgKytjb2xvYW5hKSB7CgkJLy8JY291dCA8PCBtdFtqXVtpXSA8PCIsIjsKCQkJaWYgKG10W2pdW2ldID49ICdhJyAmJiBtdFtqXVtpXSA8PSAneicgfHwgbXRbal1baV0gPj0gJ0EnICYmIG10W2pdW2ldIDw9ICdaJykgewoJCQkJCgkJCQlzZWNNdFtsaW5pZV1bY29sb2FuYV0gPSBtdFtqXVtpXTsKCQkJfQoJCX0KCS8vCWNvdXQgPDwiIFxuIjsKCX0KCQoJZm9yIChpbnQgaSA9IDEgOyBpIDwgY291bnRlcjsgKytpKSB7CgkJZm9yIChpbnQgaiA9IGxlbmd0aEZpbiA7IGogPj0gMDsgLS1qKSB7CgkJCWNvdXQgPDwgc2VjTXRbaV1bal07CgkJfQoJCWNvdXQgPDwiIFxuIjsKCX0KCQoJCglyZXR1cm4gMDsKfQ==