Go: package main

import (
        "fmt"
)

func main () {
        var str string
        fmt.Scanf("%s", &str)
        show(len(str)-1, str)
}

func show(n int, str string) {
        if n == 0 {
                fmt.Printf("%s\n", string(str[n]))
        } else {
                fmt.Printf("%s", string(str[n]))
                show(n-1, str)
        }
}

C++: #include<iostream>
#include<string>
using namespace std;
int main(){
  string a,b;
   cin>>a;
   b=a;
   int as=a.size();
   for(int i=0;i<as;i++)b[i]=a[as-i-1];
   cout<<b<<endl;    
    return 0;
}

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

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

	memset(str, 0, sizeof(str));
	memset(temp, 0, sizeof(temp));

	while(cin >> str){
		int n = strlen(str);
		for(; n!=0; ){
			temp[i++] = str[--n];
		}
		cout << temp << endl;
	}
	return 0;
}

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

int main() {
    char str[25];
    scanf("%s", str);
    for (int i = strlen(str); i > 0; i--) {
        printf("%c", str[i-1]);
        }
    printf("\n");
    return 0;
}

C++: #include<stdio.h>
#include<string.h>
int main()
{
   char arr[20];
   int i,s;
   gets(arr);
   s=strlen(arr);
   for(i=s-1;i>=0;i--)
   {
       printf("%c",arr[i]);
   }
   return 0;
}

C++: #include<iostream>
#include<queue>
#include<string>
#include<stack>
#include<cstdio>
#include<algorithm>

using namespace std;

int main(void)
{
  int l;
  string str;
  string s;

  cin>>str;

  l=str.size();

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

  puts("");

}

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

std::string reverse_str(std::string str);

int main()
{
	std::string str;
	while (std::cin >> str)
	{
		str = reverse_str(str);
		std::cout << str << std::endl;
	}
	return 0;
}

std::string reverse_str(std::string str)
{
	std::string str_ans;
	for (unsigned long i = 1; i <= str.size(); ++i)
	{
		decltype(str)::iterator it = std::prev(end(str), i);
		str_ans += *it;
	}
	return str_ans;
}

C++: #include <iostream>
#include<string>
using namespace std;
 
 
int main(){
    string s;
    cin>>s;
    for(int i=s.size();i--;){
        cout<<s[i];
    }cout<<endl;
}

C++: #include <cstdlib>
#include <cmath>
#include <climits>
#include <cfloat>
#include <map>
#include <utility>
#include <set>
#include <iostream>
#include <memory>
#include <string>
#include <vector>
#include <algorithm>
#include <functional>
#include <sstream>
#include <deque>
#include <complex>
#include <stack>
#include <queue>
#include <cstdio>
#include <cctype>
#include <cstring>
#include <ctime>
#include <iterator>
#include <bitset>
#include <numeric>
#include <list>
#include <iomanip>

#if __cplusplus >= 201103L
#include <array>
#include <tuple>
#include <initializer_list>
#include <unordered_set>
#include <unordered_map>
#include <forward_list>

#define cauto const auto&
#define ALL(v) begin(v),end(v)
#else
#define ALL(v) (v).begin(),(v).end()
#endif

using namespace std;


namespace{
typedef long long LL;
typedef pair<int,int> pii;
typedef pair<LL,LL> pll;

typedef vector<int> vint;
typedef vector<vector<int> > vvint;
typedef vector<long long> vll, vLL;
typedef vector<vector<long long> > vvll, vvLL;

#define VV(T) vector<vector< T > >

template <class T>
void initvv(vector<vector<T> > &v, int a, int b, const T &t = T()){
	v.assign(a, vector<T>(b, t));
}

template <class F, class T>
void convert(const F &f, T &t){
	stringstream ss;
	ss << f;
	ss >> t;
}


#define REP(i,n) for(int i=0;i<int(n);++i)
#define RALL(v) (v).rbegin(),(v).rend()


#define MOD 1000000007LL
#define EPS 1e-8


void mainmain(){
	string s;
	cin >> s;
	reverse(ALL(s));
	cout << s << endl;
	
}



}
int main() try{
	mainmain();
}
catch(...){}

C++: #include<iostream>
#include<cstring>
using namespace std;
	
int main()
{
	char str[19];
	cout<<"??????????????\????????????????????????\n";
	cin>>str[19];
	int j=strlen(str);
	j-=1;
	for(int i=j;i>=0;i--){
	cout<<str[i];
	}
	return 0;
}

C++: #include <algorithm>
#include <iostream>
#include <string>
using namespace std;
 
int main() {
  string str;
  get.line (cin, string);
  reverse(str.begin(), str.end());
  cout << str << endl;
}

C++: #include<map>
#include<set>
#include<list>
#include<cmath>
#include<queue>
#include<stack>
#include<cstdio>
#include<string>
#include<vector>
#include<complex>
#include<cstdlib>
#include<cstring>
#include<climits>
#include<numeric>
#include<sstream>
#include<iostream>
#include<iomanip>
#include<algorithm>
#include<functional>
#include<math.h>

#define MP make_pair
#define PB push_back
#define ALL(x) (x).begin(),(x).end()
#define REP(i,n) for(int i=0;i<(n);i++)
#define REP1(i,n) for(int i=1;i<(n);i++)
#define REP2(i,d,n) for(int i=(d);i<(n);i++)
#define RREP(i,n) for(int i=(n);i>0;i--)
#define CLR(a)      memset((a),0,sizeof(a))
#define MCLR(a)     memset((a),-1,sizeof(a))
#define RANGE(x,y,maxX,maxY) (0 <= (x) && 0 <= (y) && (x) < (maxX) && (y) < (maxY))

using namespace std;

typedef long long LL;
typedef unsigned long long ULL;
typedef vector<int> VI;
typedef vector<VI > VVI;
typedef vector<string> VS;
typedef vector<LL> VLL;
typedef pair<int,int> PII;

const int INF = 0x3f3f3f3f;
const LL INFL = 0x3f3f3f3f3f3f3f3fLL;
const double EPS = 1e-9;

const int DX[]={1,0,-1,0},DY[]={0,-1,0,1};

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

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

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

C++: #include<iostream>
#include<string>
#include<iomanip>
using namespace std;
int main(){
    string a;
    cin>>a;
    for(int i=0;i<a.size();i++){
        cout<<a[a.size()-i-1];
    }
    cout<<endl;
    return 0;
}

C++: #include<iostream>
using namespace std;
int main() {
	char str[20];
	cin >> str;
	int seek;
	for(seek = 0;seek < 20;seek++) {
		if(str[seek] == '\0') {
			break;
		}
	}
	seek--;
	for(int rv = seek;rv>=0;rv--) {
		cout << str[rv];
	}
	cout << endl;
	
	return 0;
}

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

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

int main() {
	ios_base::sync_with_stdio( false );

	string str;
	cin >> str;

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

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

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

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];
	}
    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;
}

C++: #include <stdio.h>
#include <string.h>

int main( void ){
    char str[20];
    scanf( "%s",str );
    for( int i = strlen( str ) - 1;i > 0;i-- )printf( "%c",str[i-1] );
    return 0;
}

C++: // 失敗するからこそ そこから立ち向かって行く強さがあってそんな強さが本当の強さだと私は思うから
#ifdef DAIJOBU
#include "/home/v-o_o-v/deb.h"
#define deb(x...) cerr << "[" << #x << "] = ["; _print(x)
#else
#include <bits/stdc++.h>
#define deb(x...)
#endif 

using namespace std;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	string s;
	cin >> s;
	reverse(s.begin(), s.end());
	cout << s << '\n';
	return 0;
}
// Write Here

C++: #define _CRT_SECURE_NO_WARNINGS
#include<cstdio>
#include<cstring>

int main(){
	char str[20];
	gets(str);
	for (int i = strlen(str) - 1; i >= 0; i--)
		printf("%c\n", str[i]);
	return 0;
}