#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct stack{
char data;
struct stack *next;
}stack_t;
stack_t *create_stack()
{
stack_t *h = (stack_t *)malloc(sizeof(stack_t));
h->next = NULL;
return h;
}
void push_stack(char data, stack_t **p)
{
stack_t *n = (stack_t *)malloc(sizeof(stack_t));
n->data = data;
n->next = (*p)->next;
(*p)->next = n;
}
char pop_stack(stack_t *p)
{
return p->data;
}
int main()
{
char data;
int cnt = 0;
stack_t *head = create_stack();
while(scanf("%c",&data)){
if(data == '\n') break;
push_stack(data, &head);
cnt ++;
}
while(head->next){
char x = pop_stack(head->next);
printf("%c",x);
head = head->next;
}
printf("\n");
return 0;
}