#include <stdio.h>
#include <memory.h>

#define MAXLINE 1000

int xgetline(char line[], int maxline);
void copy(char to[], char from[]);
void reverse(char s[], int len);

int main(int argc, char **argv){
	int c;
    int i, len;
    char line[MAXLINE];
    while((len = xgetline(line, MAXLINE)) > 0){
    	for(i = len - 1; (line[i] == ' ' || line[i] == '\t' || line[i] == '\n'); i--);
    	line[++i] = '\n';
    	line[++i] = '\0';
    	//Теперь i - фактическая длина строки
    	reverse(line, i);
    	printf("%s", line);
    }
    	
    
	return 0;
}

int xgetline(char s[], int lim){
	int c, i;
	
	for(i = 0; i < lim-1 && (c=getchar()) != EOF && c != '\n'; i++)
		s[i] = c;
	if(c == '\n'){
		s[i] = '\n';
		i++;
	}
	s[i] = '\0';
	return i;
}

void copy(char from[], char to[]){
	int i;
	
	i = 0;
	while((to[i] = from[i]) != '\0')
		i++;
}

void reverse(char s[], int len){
	int i, mid;
	char temp;
	
	mid = len / 2;
	for(i = 0; i < mid; i++){
		temp = s[i];
		s[i] = s[len - i - 1];
		s[len - i - 1] = temp;
	}
}