Go: package main

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

func reverse(s string) string {
	runes := []rune(s)
	for i, j := 0, len(runes)-1; i < j; i, j = i+1, j-1 {
		runes[i], runes[j] = runes[j], runes[i]
	}
	return string(runes)
}

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	scanner.Scan()
	input := scanner.Text()
	fmt.Println(reverse(input))
}

C++: #include<iostream>
#include<algorithm>
using namespace std;
int main()
{
  char s[21];
  cin >> s;

  reverse(s.begin(),s.end());

  cout << endl;
}

C++: #include <iostream>
#include <sstream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <string>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <algorithm>
#include <functional>

using namespace std;

int gcd( int, int );

int main()
{
	char str[21];

	fgets( str, sizeof( str ), stdin );
	for ( int i = strlen( str ) - 2; 0 <= i; i-- )
	{
		putchar( str[i] );
	}
	puts("\n");

	return 0;
}

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

int main(void){
  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){
char str[20];
scanf("%s",&str);
for(int n=strlen(str)-1;n>=0;n--){
printf("%c",str[n]);
}
printf("\n");
return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;
 
int main(){
    string s;
    cin>>s;
    for(int i=s.length()-1;i>=0;i--) cout<<s[i];
    cout<<endl;
    return 0;
}

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

using namespace std;

int main(void){
	int i;
	string s;
	cin >> s;
	for(i = s.size() - 1;i >= 0;i--){
		printf("%c",s[i]);
	}
	printf("\n");
}

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

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

C++: #include<bits/stdc++.h>
using namespace std;
int main(){
  string str;
  cin>>str;
  reverse(str.begin(),str.end());
  cout<<str<<endl;
  return(0);
}

C++: #include <bits/stdc++.h>
using namespace std;
 
#define MOD 1000000007
#define INF  2000000000
//#define int ll
#define ll long long
#define ld long double
#define vi vector<int>
#define p pair<int, int>
#define fi first
#define se second
#define pb push_back
#define mp make_pair
 
#define INIT ios::sync_with_stdio(false);cin.tie(0);
#define VAR(type, ...)type __VA_ARGS__;MACRO_VAR_Scan(__VA_ARGS__);
template<typename T> void MACRO_VAR_Scan(T& t) { cin >> t; }
template<typename First, typename...Rest>void MACRO_VAR_Scan(First& first, Rest&...rest) { cin >> first; MACRO_VAR_Scan(rest...); }
#define VEC(type, c, n) vector<type> c(n);for(auto& i:c)cin>>i;
#define MAT(type, c, m, n) vector<vector<type>> c(m, vector<type>(n));for(auto& r:c)for(auto& i:r)cin>>i;
 
#define BR cout << "\n";
#define SP cout << " ";
#define ENDL cout<<endl;
#define OUT(d) cout<<d;
#define OUTL(d) cout<<d; BR;
#define YES OUTL("YES")
#define Yes OUTL("Yes")
#define NO OUTL("NO")
#define No OUTL("No")
#define RET return 0;
#define SUM(a, n) accumulate(a, a+n, 0)
#define VSUM(v) accumulate(ALL(v), 0);
 
#define REP(i, n) for(int i=0;i<(n);i++)
#define RREP(i, n) for(int i=n-1;i>=0;--i)
#define FOR(i, m, n) for(int i = m;i < n; i++)
#define RFOR(i, a, b) for(int i=(b)-1;i>=(a);--i)
#define AREP(a, n) for(auto (a):(n))
#define ALL(a) (a).begin(),(a).end()
#define IN(n, a, b) ((a)<=(n)&&(n)<(b))
 
ll gcd(ll x, ll y){
    if(y == 0) return x;
    return gcd(y, x%y);
}

ll lcm(ll x, ll y){
    return x * (y / gcd(x, y));
}

signed main(){ INIT;
    VAR(string, str);
    reverse(ALL(str));
    OUTL(str);
RET;}

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

int main()
{
	char Str[21];
	int StrLen;

	cin >> Str;

	StrLen = strlen( Str );

	while( 1 ){

		cout << Str[StrLen-1];

		StrLen--;

		if( StrLen == 0 ) break;
	}

	return 0;
}

C++: #include<iostream>
#include<stdio.h>
#include<string>
#include<math.h>
#include<iomanip>
using namespace std;
int main(void){

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

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",a[i]);
	}
printf("\n");
	return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;
int main(void){
	string s;
	int i;
	cin>>s;
	for(i=s.size()-1;i>=0;i--)	cout<<s[i];
	cout<<endl;
	return 0;
}

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

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

int main(void) {
  char s[100] = {0};
  int i = 0;
  gets(s);
  i = strlen(s)-1;
  while(i >= 0)
  putchar(s[i--]);
  
  putchar('\n');
  return 0;
}

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

int main(){
    string s = "";
    cin >> s;
    string::iterator i = s.begin();
    string x = "";
    while(i!=s.end()){
        x = *i + x;
        i++;
    }
    cout << x;
    return 0;
}

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

int main(void) {
  char s[100] = {0};
  int i = 0;
  gets(s);
  i = strlen(s);
  while(i >= 0)
  putchar(s[i--]);
  
  putchar('\n');
  return 0;
}

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

using namespace std;

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

C++: #include <iostream>

using namespace std;

int main() {
    string str;

    cin >> str;

    reverse(str.begin(), str.end());

    cout << str << endl;

    return 0;
}

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

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

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

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

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

char input[20];

int main(){
	cin >> input;

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

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

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

using namespace std;

int main()
{
    string rev;

    cin >> rev;
    for (int i = rev.size() - 1; i >= 0; i--)
        cout << rev.at(i);
    cout << endl;

    return 0;
}

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

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

int main() {

    string s;
    cin >> s;

    for (int i = s.size(); i >= 0; i--) {
        cout << s[i];
    }
    cout << '\n';
    return 0;
}

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

using namespace std;

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

C++: #include <conio.h>
#include <stdio.h>
#include <iostream>
using namespace std;



void reverse(char *);
int main()
{

	
	char str[20];
	gets(str);
	reverse(str);
	

}

void reverse(char *str)
{
	char *p=str;
   *p++;
	if(*p) reverse(p);
   cout << *str;
   
}