#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;
      
    }
}