Go: package main

import (
	"bufio"
	"fmt"
	"os"
	"strings"
)

var sc = bufio.NewScanner(os.Stdin)

func ReverseSequence(s []string) {
	defer fmt.Println()

	for i := 0; i < len(s); i++ {
		defer fmt.Print(s[i])
	}
}

func main() {
	sc.Scan()
	strs := strings.Split(sc.Text(), "")

	ReverseSequence(strs)
}

C++: #define _CRT_SECURE_NO_WARNINGS
#include<bits/stdc++.h>
using namespace std;
#ifndef FAST_IO
 #define IOS ios_base::sync_with_stdio(false);cin.tie(nullptr);
#endif

#define FILE_IO freopen("input.txt","r",stdin)
#define int long long
#define f first
#define s second
#define endl '\n'
#define all(c) c.begin(),c.end()
#define bp __builtin_popcount
#define debug(x) cerr << #x << " = " << x << endl;

const int MOD = 1e9 + 7;
const int INF = 1e18;

mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
template <typename T>void print(T t){for(auto &it : t)cout<<it<<" ";}
inline int powerexp(int a, int b, int m = MOD){ int res = 1;while(b){if(b&1)res = res * a % m;a = a * a % m,b >>= 1;}return res % m;}
inline int modinv(int a){ return powerexp(a,MOD-2,MOD);}
inline int lcm(int a, int b){ int g = __gcd(a,b);return a/g*b;}
inline int add(int x, int y){ x += y; if (x >= MOD) x -=  MOD; return x;}
inline int mul(int x, int y){ return (x * 1ll * y) % MOD;}
inline int sub(int x, int y){ x -= y; if (x<0) x += MOD; return x ;}

//-------------------< start here >-------------------------// 

void solve(){
    string s;
    while(cin >> s){
	  reverse(all(s));
	  cout << s << endl;	
   }
}

//-----------------------------
//comment from here for TOPCODER 
int32_t main(){
   IOS;
   solve();
   //find();
   #ifdef LOCAL_DEFINE
   cerr << "time elapsed " << (double)clock()/CLOCKS_PER_SEC << endl;
   #endif
}

C++: #include <iostream>
#include <string>

using namespace std;

int main(){
	string str;
	//string reverse="";
	cin>>str;
	for (int i=str.length()-1; i>-1; i--){
		cout<<str.at(i);
	}
	cout<<endl;
	//cout<<reverse<<endl;
	return 0;
}

C++: #include<iostream>
#include<cstdio>
#include<utility>
#include<climits>
#include<cmath>
using namespace std;

int main()
{
	int i, j;

	char str[20] = {};
	for (i = 0; cin >> str[i]; i++)
	{}

	for (j = i; j >= 0; j--)
	{
		cout << str[j];
	}
	return 0;
}

C++: #include <iostream>
#include <sstream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <ctime>
#include <cstring>
#include <climits>
#include <algorithm>
#include <map>
#include <set>
#include <stack>
#include <vector>
#include <queue>
#include <string>
using namespace std;

#define rep(i,n) for(int i=0; i<n; i++)
#define repa(i,s,e) for(int i=s; i<=e; i++)
#define repd(i,s,e) for(int i=s; i>=e; i--)

typedef long long ll;
typedef vector<int> vi;

int main() {
	string str;
	cin>>str;

	string::reverse_iterator it = str.rbegin();
	while(it != str.rend()) {
		printf("%c", *it);
		++it;
	}
	printf("\n");
}

C++: #include<iostream>
#include<cstring>
using namespace std;
int main()
{
	int i,n;
	char a[41];
	cin >> a;
	n = strlen(a);
	for(i=n-1;i>=0;i--)
	{
		cout << a[i];
	}
	cout << endl;
	return 0;
}

C++: #include <iostream>
 
using namespace std;
 
int main() {
    char str[25];
    for (int i=0;i<25;i++) {
    	str[i]='$';
    }
    cin >> str;
    int x;
    for (int i=0;;i++) {
    	if (str[i]=='$') {
    		x=i-1;
    		break;
    	}
    }
    for (int i=0;i<=x;i++) {
    	cout << str[x-i];
    }
    cout << endl;
    return 0;
}

C++: #include <iostream>
#include <string>
using namespace std;

int main(){
	string str;
	cin >> str;
	for(int i = str.size()-1; i >= 0; i--){
		cout << str[i];
	}
	cout << endl;
    return 0;
}

C++: #include <iostream>
#include <string>

using namespace std;

int main()
{
    string a;

    cin >> a;

    int PSa = a.length();

    for (PSa-1; 0<=PSa; PSa--){
        cout <<a[PSa];
    }

    return 0;
}

C++: #include <iostream>
#include <string>

using namespace std;

int main(){
	string str;
	cin >> str;
	for(int i = str.length() - 1; i >= 0; --i){
		cout << str[i];
	}
	cout << endl;
	return 0;
}

C++: #include <iostream>
#include <string>

using namespace std;

void solve()
{
	string str;
	cin >> str;
	int n = str.size();
	for(int i = n - 1; i >= 0; --i)
	{
		cout << str[i];
	}
	cout << endl;
}

int main()
{
	solve();
	return(0);
}

C++: #include <iostream>
#include <string>
using namespace std;

int main()
{
    string str;
    cin>>str;
    for(int i=str.size();i>0;--i)cout<<str[i-1];
    cout<<endl;
    return 0;
}

C++: #include <iostream>
using namespace std;
int main(){
char a[40];
int len,b;
cin.getline(a,40);
len = strlen(a);
for(int i=len;i>=0;i--){
cout<<a[i];
}
cout<<endl;
return 0;
}

C++: #include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main() {
  string s;
  while(cin >> s) {
    reverse(s.begin(), s.end());
    cout << s << endl;
  }
  return 0;
}

C++: #include<iostream>
#include<algorithm>
using namespace std;

int main(){
  int j, i=0;
  char str[25], rts[25];
  cin >> str ;
  while(1){
    if(str[i]=='\0'){
      break;
    }
    i++;
  }

  
  for(j=0;i>0;j++){
    rts[j]=str[i-1];
    i--;
  }
  rts[j]='\0';
  
  cout << rts << endl;
  return 0;
}

C++: #include <string>
#include <iostream>

using namespace std;

string reverse_seq(string str)
{
	string str_ = "";

	for(string::size_type i = 0; i < str.size(); i++)
	{
		str_ = str[i] + str_;
	}

	return str_;
}

int main()
{
	string str;

	cin>>str;
	
	cout << reverse_seq(str) << endl;
}

C++: #include <iostream>
#include <cstring>

using namespace std;

int main() {

	char str[20];

	cin >> str;

	//cout << strlen(str) << endl;

	for (int i = strlen(str) - 1; i >= 0; i--) {
		cout << str[i];
	}

	cout << endl;

	return 0;

}

C++: #include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
int main()
{
    char str[22];
    int i,j;
    gets(str);
   for(i=0;;i++)
    {
        if(str[i]==' ')
        i++;
        if(str[i]=='\0')
        break;
    }
    for(j=i-1;j>=0;j--)
    {
        cout<<str[j];
    }
    return 0;
}