#include <stdint.h>
#include <stdio.h>
#include <string.h>
void swap(char* a, char* b)
{
char temp;
if (a != b) {
temp = *a;
*a = *b;
*b = temp;
} else {}
}
int main() {
char s[10001] = {};
uint32_t length = 0,i;
uint32_t start,end;
scanf("%[^\n]*c", s);
length = strlen(s);
// 替换非字母字符为空格
for (i=0; i<length; ++i) {
if (s[i]<'A' || (s[i]>'Z'&&s[i]<'a') || s[i]>'z') {
s[i] = ' ';
} else {}
}
// 整体反转
for (start=0,end=length-1; start<end; ++start,--end) {
swap(&s[start], &s[end]);
}
// 逐个单词倒排
for (i=0,start=0,end=0; i<length; ++i) {
if ((s[i]==' ') || (i==length-1)) {
if ((i==length-1) && (s[i]!=' ')) {
end = i;
} else {
end = i-1;
}
for (; start<end; ++start,--end) {
swap(&s[start], &s[end]);
}
start = i+1;
} else {}
}
printf("%s", s);
return 0;
}