#include <iostream>
#include <cstring>
using namespace std;
const int MAX_LENGTH = 2000;
int is_letter (char text) {
int is_letter = 0;
if ((text >= 'A' && text <= 'Z') || (text >= 'a' && text <= 'z')) {
is_letter = 1;
}
return is_letter;
}
int main() {
char text[MAX_LENGTH + 1];
while (!cin.eof()) {
cin.getline(text,MAX_LENGTH + 1);
int text_length = strlen(text);
int word_start = - 1, word_end = 0;
for (int i = 0; i <= text_length; ++i) {
if (is_letter(text[i]) == 1 && word_start < 0) {
word_start = i;
} else if (is_letter(text[i]) == 0 && word_start >= 0) {
word_end = i - 1;
char aux = '0';
int k, word_length = word_end - word_start + 1;
if (word_length % 2 == 0) {
k = 0;
} else {
k = 1;
}
cout << word_start << " " << word_end << " " << word_length << " | ";
for (int j = 0; j < word_length / 2; ++j) {
aux = text[word_start + j];
text[word_start + j] = text[word_start + word_length / 2 + k + j];
text[word_start + word_length / 2 + k + j] = aux;
}
word_start = - 1;
word_end = 0;
}
}
cout << text << "\n";
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBNQVhfTEVOR1RIID0gMjAwMDsKCmludCBpc19sZXR0ZXIgKGNoYXIgdGV4dCkgewogICAgaW50IGlzX2xldHRlciA9IDA7CiAgICAgICAgaWYgKCh0ZXh0ID49ICdBJyAmJiB0ZXh0IDw9ICdaJykgfHwgKHRleHQgPj0gJ2EnICYmIHRleHQgPD0gJ3onKSkgewogICAgICAgICAgICBpc19sZXR0ZXIgPSAxOwogICAgICAgIH0KICAgIHJldHVybiBpc19sZXR0ZXI7Cn0KCmludCBtYWluKCkgewogICAgY2hhciB0ZXh0W01BWF9MRU5HVEggKyAxXTsKICAgIHdoaWxlICghY2luLmVvZigpKSB7CiAgICAgICAgY2luLmdldGxpbmUodGV4dCxNQVhfTEVOR1RIICsgMSk7CiAgICAgICAgaW50IHRleHRfbGVuZ3RoID0gc3RybGVuKHRleHQpOwogICAgICAgIGludCB3b3JkX3N0YXJ0ID0gLSAxLCB3b3JkX2VuZCA9IDA7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPD0gdGV4dF9sZW5ndGg7ICsraSkgewogICAgICAgICAgICBpZiAoaXNfbGV0dGVyKHRleHRbaV0pID09IDEgJiYgd29yZF9zdGFydCA8IDApIHsKICAgICAgICAgICAgICAgIHdvcmRfc3RhcnQgPSBpOwogICAgICAgICAgICB9IGVsc2UgaWYgKGlzX2xldHRlcih0ZXh0W2ldKSA9PSAwICYmIHdvcmRfc3RhcnQgPj0gMCkgewogICAgICAgICAgICAgICAgd29yZF9lbmQgPSBpIC0gMTsKICAgICAgICAgICAgICAgIGNoYXIgYXV4ID0gJzAnOwogICAgICAgICAgICAgICAgaW50IGssIHdvcmRfbGVuZ3RoID0gd29yZF9lbmQgLSB3b3JkX3N0YXJ0ICsgMTsKICAgICAgICAgICAgICAgIGlmICh3b3JkX2xlbmd0aCAlIDIgPT0gMCkgewogICAgICAgICAgICAgICAgICAgIGsgPSAwOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBrID0gMTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGNvdXQgPDwgd29yZF9zdGFydCA8PCAiICIgPDwgd29yZF9lbmQgPDwgIiAiIDw8IHdvcmRfbGVuZ3RoIDw8ICIgfCAiOwogICAgICAgICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCB3b3JkX2xlbmd0aCAvIDI7ICsraikgewogICAgICAgICAgICAgICAgICAgIGF1eCA9IHRleHRbd29yZF9zdGFydCArIGpdOwogICAgICAgICAgICAgICAgICAgIHRleHRbd29yZF9zdGFydCArIGpdID0gdGV4dFt3b3JkX3N0YXJ0ICsgd29yZF9sZW5ndGggLyAyICsgayArIGpdOwogICAgICAgICAgICAgICAgICAgIHRleHRbd29yZF9zdGFydCArIHdvcmRfbGVuZ3RoIC8gMiArIGsgKyBqXSA9IGF1eDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHdvcmRfc3RhcnQgPSAtIDE7CiAgICAgICAgICAgICAgICB3b3JkX2VuZCA9IDA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY291dCA8PCB0ZXh0IDw8ICJcbiI7CiAgICB9Cn0=