#include <iostream>
#include <string.h>
#include <cstring>
#include <string>
using namespace std;
const int MAX_LEN = 2000;
int este_litera(char c) {
if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z')) {
return 1;
}
return 0;
}
char cuv[MAX_LEN];
int main() {
char s[MAX_LEN];
int am_cuvant = 0;
while (cin.getline(s, MAX_LEN)) {
int len = strlen(s);
if (len == 0) {
cout << "\n" << "\n";
}
cuv[0] = '\0';
int j = -1;
for (int i = 0; i < len; ++i) {
if (este_litera(s[i])) {
++j;
cuv[j] = s[i];
am_cuvant = 1;
} else {
++j;
cuv[j] = '\0';
if (am_cuvant == 1) {
for (int k = 0; k < j / 2; ++k) {
char aux = cuv[k];
cuv[k] = cuv[j / 2 + k + j % 2];
cuv[j / 2 + k + j % 2] = aux;
}
cout << cuv;
}
cout << s[i];
cuv[0] = '\0';
j = -1;
am_cuvant = 0;
}
}
++j;
cuv[j] = '\0';
if (am_cuvant == 1) {
for (int k = 0; k < j / 2; ++k) {
char aux = cuv[k];
cuv[k] = cuv[j / 2 + k + j % 2];
cuv[j / 2 + k + j % 2] = aux;
}
cout << cuv;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nLmg+CiNpbmNsdWRlIDxjc3RyaW5nPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IE1BWF9MRU4gPSAyMDAwOwoKaW50IGVzdGVfbGl0ZXJhKGNoYXIgYykgewogICAgaWYgKCgnYScgPD0gYyAmJiBjIDw9ICd6JykgfHwgKCdBJyA8PSBjICYmIGMgPD0gJ1onKSkgewogICAgICAgIHJldHVybiAxOwogICAgfQogICAgcmV0dXJuIDA7Cn0KCmNoYXIgY3V2W01BWF9MRU5dOwoKaW50IG1haW4oKSB7CiAgICBjaGFyIHNbTUFYX0xFTl07CiAgICBpbnQgYW1fY3V2YW50ID0gMDsKICAgIHdoaWxlIChjaW4uZ2V0bGluZShzLCBNQVhfTEVOKSkgewogICAgICAgIGludCBsZW4gPSBzdHJsZW4ocyk7CiAgICAgICAgaWYgKGxlbiA9PSAwKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIlxuIiA8PCAiXG4iOwogICAgICAgIH0KICAgICAgICBjdXZbMF0gPSAnXDAnOwogICAgICAgIGludCBqID0gLTE7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsZW47ICsraSkgewogICAgICAgICAgICBpZiAoZXN0ZV9saXRlcmEoc1tpXSkpIHsKICAgICAgICAgICAgICAgICsrajsKICAgICAgICAgICAgICAgIGN1dltqXSA9IHNbaV07CiAgICAgICAgICAgICAgICBhbV9jdXZhbnQgPSAxOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgKytqOwogICAgICAgICAgICAgICAgY3V2W2pdID0gJ1wwJzsKICAgICAgICAgICAgICAgIGlmIChhbV9jdXZhbnQgPT0gMSkgewogICAgICAgICAgICAgICAgICAgIGZvciAoaW50IGsgPSAwOyBrIDwgaiAvIDI7ICsraykgewogICAgICAgICAgICAgICAgICAgICAgICBjaGFyIGF1eCA9IGN1dltrXTsKICAgICAgICAgICAgICAgICAgICAgICAgY3V2W2tdID0gY3V2W2ogLyAyICsgayArIGogJSAyXTsKICAgICAgICAgICAgICAgICAgICAgICAgY3V2W2ogLyAyICsgayArIGogJSAyXSA9IGF1eDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgY291dCA8PCBjdXY7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBjb3V0IDw8IHNbaV07CiAgICAgICAgICAgICAgICBjdXZbMF0gPSAnXDAnOwogICAgICAgICAgICAgICAgaiA9IC0xOwogICAgICAgICAgICAgICAgYW1fY3V2YW50ID0gMDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICArK2o7CiAgICAgICAgY3V2W2pdID0gJ1wwJzsKICAgICAgICBpZiAoYW1fY3V2YW50ID09IDEpIHsKICAgICAgICAgICAgZm9yIChpbnQgayA9IDA7IGsgPCBqIC8gMjsgKytrKSB7CiAgICAgICAgICAgICAgICBjaGFyIGF1eCA9IGN1dltrXTsKICAgICAgICAgICAgICAgIGN1dltrXSA9IGN1dltqIC8gMiArIGsgKyBqICUgMl07CiAgICAgICAgICAgICAgICBjdXZbaiAvIDIgKyBrICsgaiAlIDJdID0gYXV4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvdXQgPDwgY3V2OwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAwOwp9Cg==