#include<bits/stdc++.h>
using namespace std;
char a[10010];
int b[10010];//用于记录每一个单词开头的位置
int main(){
scanf("%[^\n]",a);//使用%[^\n]输入带空格的一行
int r,l,num=0;
int len=strlen(a);
int p=0;//用于判定i前一个字符是否为字母
for(int i=0;i<len;i++){
if(p==1&&((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')))continue;
//如果该点为字母且前一个字符也是字母,跳过
if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')){
b[num++]=i;p=1;//前一个字符为非字母,且该点为字母,意味该点为单词开头,记录该点,并且把p置为1
}
else p=0;//如果是非字母,p置为0
}
for(int i=num-1;i>=0;i--){
for(int j=b[i];(a[j]>='a'&&a[j]<='z')||(a[j]>='A'&&a[j]<='Z');j++){
printf("%c",a[j]);
}
printf(" ");
}
return 0;
}