Go: package main

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

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	for scanner.Scan() {
		str := []rune(scanner.Text())
		for i:=len(str)-1; i>=0; i-- {
			fmt.Printf(string(str[i]))
		}
		fmt.Println()
	}
}

C++: #include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef pair<ll, ll> P;

#define EACH(i,a) for (auto& i : a)
#define FOR(i,a,b) for (ll i=(a);i<(b);i++)
#define RFOR(i,a,b) for (ll i=(b)-1;i>=(a);i--)
#define REP(i,n) for (ll i=0;i<(n);i++)
#define RREP(i,n) for (ll i=(n)-1;i>=0;i--)
#define debug(x) cout<<#x<<": "<<x<<endl
#define pb push_back
#define ALL(a) (a).begin(),(a).end()

const ll linf = 1e18;
const int inf = 1e9;
const double eps = 1e-12;
const double pi = acos(-1);

template<typename T>
istream& operator>>(istream& is, vector<T>& vec) {
	EACH(x,vec) is >> x;
	return is;
}
template<typename T>
ostream& operator<<(ostream& os, vector<T>& vec) {
	REP(i,vec.size()) {
		if (i) os << " ";
		os << vec[i];
	}
	return os;
}
template<typename T>
ostream& operator<<(ostream& os, vector< vector<T> >& vec) {
	REP(i,vec.size()) {
		if (i) os << endl;
		os << vec[i];
	}
	return os;
}

int main() {
	std::ios::sync_with_stdio(false);
	std::cin.tie(0);
	string s; cin >> s;
	reverse(ALL(s));
	cout << s << endl;
}

C++: #include <iostream>
#include <iomanip>
#include <list>
#include <map>
#include <algorithm>
#include <stack>

using namespace std;


int main(){
	char str[20];
	int j = 0;
	memset(str,'\0',sizeof(str));
	while(cin >> str){	
		for(int i = sizeof(str) / sizeof(char) - 1; i >= 0; i--){
			if(str[i] != '\0'){
				cout << str[i];
			}
		}
		cout << endl;
	}

	return 0;
}

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

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

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

using namespace std;

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

C++: #include<iostream>
#include<string>
#define loop(i,a,b) for(int i=a;i<b;i++)
#define rep(i,a) loop(i,0,a)
using namespace std;

int main(){
	string s,ans="";
	cin>>s;
	rep(i,s.size()){
		ans+=s[s.size()-i-1];
	}
	cout<<ans<<endl;
	return 0;
}

C++: #include <string>
#include <iostream>
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<stdio.h>
#include<string.h>
int main(void) {
	int a;
	char str[20];
	scanf("%s", &str);
	a = strlen(str);
	for (int i = a-1; i >=0 ; i--)
	{
		printf("%c", str[i]);
	}
	printf("\n");
	return 0;
}

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

using namespace std;
// cin >>
// cin <<
int main(){
	string a;
	getline(cin,a);
		reverse( a.begin() , a.end() );
		cout <<a<<endl;
	return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;

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

  reverse(S.begin(), S.end());
  cout << S << endl;
}

C++: using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {  string a = Console.ReadLine(); int b = a.Length;
            for (; b > 0; b--)
            { Console.Write(a[b]); }
            Console.WriteLine();
        }
    }
}

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

int main() {
    std::string str;
    std::cin >> str;
    std::reverse(str.begin(), str.end());
    std::cout << str << std::endl;
}

C++: #include <iostream>

using namespace std;

int main() {

	int l;
	char t, str[64];

	cin >> str;
	l=strlen(str);

	for(int i=0; i<l/2; i++) {
		t=str[i];
		str[i]=str[l-i-1];
		str[l-i-1]=t;
	}

	cout << str;

}

C++: #include <cstdio>

int main(){
  char str[20];
  int i = 0;

  scanf("%s", str);

  while (str[i] != '\0'){
    i++;
  }
  for (i--; i >= 0; i--){
    printf("%c", str[i]);
  }
  printf ("\n");
  return 0;
}

C++: #include<stdio.h>
#include<string.h>
int main(){
	char a[100];
	scanf("%s",&a);
	for(int i=strlen(a)-1;i>=0;i--){
		printf("%c\n",a[i]);
	}
	return 0;
}

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

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

  return 0;
}

C++: #include<iostream>
#include<string>
using namespace std;
int main(){

	string str;
	
	getline(cin,str);

	 for (string::reverse_iterator rit=str.rbegin(); rit!=str.rend(); ++rit)
    cout << *rit;

}

C++: #include<bits/stdc++.h>
using namespace std;

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

C++: #include<iostream>
#include<math.h>
#include<algorithm>
#include<string.h>
using namespace std;
int main(){
    string x;
    int i;
    cin>>x;
    for(i=x.size();i>=0;i--){
        if(x.size()>20){
            break;
        }
        cout<<x[i];
    }
    cout<<endl;
    return 0;
}

C++: #include <iostream>
#include <cstdio>
#include <cstring>
#define N 20
using namespace std;

int main() {
    char str[N];
    cin >> str;
    reverse(str,str+strlen(str));
    printf("%s\n",str);
    return 0;
}

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

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

C++: #include <algorithm>
#include <bitset>
#include <cctype>
#include <cfloat>
#include <climits>
#include <cmath>
#include <complex>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <fstream>
#include <functional>
#include <iomanip>
#include <iostream>
#include <list>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <utility>
#include <vector>
#define FOR(x,a,b) for(int x=a;x<b;x++)
#define REP(x,b) for(int x=0;x<b;x++)
#define FORSIZE(x,A) for(int x=0;x<A.size();x++)
#define ITR(x,c) for(__typeof(c.begin()) x=c.begin();x!=c.end();x++)
#define SORT(x) sort(x.begin(),x.end())
#define RSORT(x) sort(x.rbegin(),x.rend())
#define rsort(x,n) sort(x, x+n, greater<int>())
#define REV(x) reverse(x.begin(),x.end())
using namespace std;
typedef long long ll;
inline int toInt(std::string s) {int v; std::istringstream sin(s);sin>>v;return v;}
template<class T> inline std::string toString(T x) {std::ostringstream sout;sout<<x;return sout.str();}

int main( int argc, const char* argv[] )
{
    string s;
    cin >> s;
    for (int i=s.size(); i>=0; i--) {
        cout << s[i];
    }
    cout << endl;
    return 0;
}

C++: #include <iostream>

using namespace std;

int main() {
    string s;
    char x;
    while (cin >> x) {
        s += x;
    }
    for (int i=0;i<s.length()/2;i++){
        char temp=s[i];
        s[i]=s[s.length()-i-1];
        s[s.length()-i-1]=temp;
    }
    cout << s << endl;
    return 0;
}

C++: #include <algorithm>
#include <vector>
#include <math.h>
#include <stdio.h>
#include <cctype>
#include <iostream>
#include <set>
#include <string>
#include <queue>
#include <map>
#include <utility>
using namespace std;
int size(string x){
	string::size_type size=x.size();
	return size;
}
#define fu(l,k) for(int i=l;i<k;i++)
#define fd(l,k) for(int i=l;i>k;i--)
#define sort(ss) sort(ss.begin(), ss.end())
#define rsort(ss) sort(ss.rbegin(), ss.rend())
typedef  vector<string> vs;
typedef  vector<int> vi;
double pi(){
	return acos(-1.0);
}
typedef set<int> set_i;
typedef set<string> set_s;
int INF=1000000;
int main(){
	string ss;
	cin>>ss;
	int sr=size(ss);
	for(int i=sr;i>=0;i--){
		if(i==0) cout<<ss[i]<<endl;
		else cout<<ss[i];
	}
}