/*
 * dancidaopai.cpp
 *  Created on: 2012-11-10
 *      Author:???  1200012899
 */
int main() {
	char str[102], temp;//str????????????
	int i, j, len, m;//len???????????i?j?m?????
	int start, end, word = 0;//word?????????????
	cin.getline(str, 102);
	len = strlen(str);
	for (i = 0; i < len; i++) {
		if (str[i] == ' ')
			word = word + 1;//?????????????????????????????
	}
	if (word != 0)//?????????????????
	{
		for (i = 0, j = len - 1; i < j; i++, j--) {
			temp = str[i];
			str[i] = str[j];
			str[j] = temp;//??????????
		}
		start = 0;
		for (i = 0; i < len; i++) {

			if (str[i] == ' ')//?????????????????????????????
			{
				end = i;
				for (j = start, m = end - 1; j < m; j++, m--) {
					temp = str[j];
					str[j] = str[m];
					str[m] = temp;
				}
				start = i + 1;//???????start?????????????????????
			}
		}
		for (i = len - 1; i >= 0; i--)//????????????????????????????????
		{
			if (str[i] == ' ') {
				for (j = len - 1, m = i + 1; j > m; j--, m++) {
					temp = str[j];
					str[j] = str[m];
					str[m] = temp;//??????????????????????
				}
				break;
			}
		}
		for (i = 0; i < len; i++) {
			cout << str[i];//?????????
		}
	} else {
		for (i = 0; i < len; i++) {
			cout << str[i];//??????????????????
		}
	}
	return 0;
}
