#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
#include<iterator>
using namespace std;
/*
思路:遇到空格,则将单词存放到vector<string>,到达结束符,将最后单词存放到vector<string>,从最后一个元素取出,
+空格+下一个单词。
*/
string reverseStr(string strIn)
{
vector<string> strVecOut;
string strOut;
int strLen = strIn.length();
int temp = 0;
string strTemp;
for(int i = 0; i < strLen; i++) {
if(strIn[i] == ' ') {
strVecOut.push_back(strTemp);
strTemp.clear();
} else {
strTemp += strIn[i];
}
if(i == strLen-1) {
strVecOut.push_back(strTemp);
}
}
int vecLen = strVecOut.size();
for(int i = vecLen-1; i >= 0 ; i--) {
if(i == vecLen-1) {
strOut += strVecOut[i];
} else {
strOut += ' ' + strVecOut[i];
}
}
return strOut;
}
int main()
{
string strIn;
while(getline(cin, strIn)) {
cout<<reverseStr(strIn)<<endl;
}
}