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>
using namespace std;

//????????????????????§??????
int main()
{
	string str,str2="";
	cin >> str;

	for(int i = str.length() - 1; i >= 0; i--)
		str2 += str[i];
	str2 += "\0";
	cout << str2; 

	return 0;
}

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

int main(){
	string s;
	cin>>s;
	for(int i=s.length();i>0;i--) cout<<s.at(i-1);
	cout<<'\n';
	return 0;
}

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

C++: //
//  main.cpp
//  CppTest
//
//  Created by Ryu on 2017/02/08.
//  Copyright ?? 2017??´ Ryu. All rights reserved.
//

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cmath>
using namespace std;

int main(int argc, const char * argv[]) {
    // insert code here...
    cin.tie(0);
    ios::sync_with_stdio(false);
    
    string str;
    //int n = 0;
    cin >> str;
    
    
    for(int i = (int)str.size() - 1; i >= 0; i--){
        printf("%c", str[i]);
    }
    printf("\n");
    
    return 0;
}

C++: #include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
 
int main() {
    char a[25], i;
    scanf("%s", a);
    for(i=strlen(a)-1;i>=0;i--){
       printf("%c", a[i]);                         
                             
    }
    printf("\n");
    
    return 0;
}

C++: #include<stdio.h>

int main(void){

	char str[100]={0},temp;

	for(int i=0; i<20; i++){
		
		scanf("%c",&str[i]);
		
		if(str[i] == '\n'){
			str[i]='\n';
			break;
		}
	
	}
		
	for(int i=19; i>=0; i--){
			printf("%c",str[i]);
	}

}

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

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

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

#define REP(i,a,b) for(i=a;i<b;i++)
#define rep(i,n) REP(i,0,n)

int main(){
  int i, j;
  char str[21], rev[21];

  scanf("%s", str);
  i = 0; j = 0;
  while(str[i] != '\0') i++;
  i--;
  while(i >= 0){
    rev[j] = str[i];
    i--; j++;
  }
  rev[j] = '\0';

  printf("%s\n", rev);

  return 0;
}

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

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

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

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

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

int main()
{
	string src;
	cin >> src;
	reverse(src.begin(), src.end());
	cout << src << endl;

	return 0;
}

C++: #include<stdio.h>
#include <string.h>
int main()
{

char str[21]={};
char ch;
int n;
scanf("%s",str);
n = strlen(str);
for(int i=0;i<n;i++)
{
printf("%c",str[n-i-1]);
}
printf("\n");
return 0;
}

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

int main(){
    char str[100];
    scanf("%s",str);
    reverse(str,str+strlen(str));

    printf("%s\n",str);

    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-1;i>=0;i--){
		if(i==0) cout<<ss[i]<<endl;
		else cout<<ss[i];
	}
}

C++: //============================================================================
// Name        : 0006.cpp
// Author      : 
// Version     :
// Copyright   : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================

#include <iostream>
#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 <string>
#include <algorithm>

using namespace std;

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

C++: (function() {
	'use strict';
	var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;

	var push = ArrayProto.push,
	slice = ArrayProto.slice,
	concat = ArrayProto.concat,
	toString = ObjProto.toString,
	hasOwnProperty = ObjProto.hasOwnProperty;

	var
	nativeForEach = ArrayProto.forEach,
	nativeMap = ArrayProto.map,
	nativeReduce = ArrayProto.reduce,
	nativeReduceRight = ArrayProto.reduceRight,
	nativeFilter = ArrayProto.filter,
	nativeEvery = ArrayProto.every,
	nativeSome = ArrayProto.some,
	nativeIndexOf = ArrayProto.indexOf,
	nativeLastIndexOf = ArrayProto.lastIndexOf,
	nativeIsArray = Array.isArray,
	nativeKeys = Object.keys,
	nativeBind = FuncProto.bind;

	this._ = {};
	var each = _.each = _.forEach = function(obj, iterator, context) {
		if (obj == null) return;
		if (nativeForEach && obj.forEach === nativeForEach) {
			obj.forEach(iterator, context);
		} else if (obj.length === +obj.length) {
			for (var i = 0, l = obj.length; i < l; i++) {
				if (iterator.call(context, obj[i], i, obj) === breaker) return;
			}
		} else {
			for (var key in obj) {
				if (_.has(obj, key)) {
					if (iterator.call(context, obj[key], key, obj) === breaker) return;
				}
			}
		}
	};

	_.extend = function(obj) {
		each(slice.call(arguments, 1), function(source) {
			if (source) {
				for (var prop in source) {
					obj[prop] = source[prop];
				}
			}
		});
		return obj;
	};
}).call(global);

(function(undefined){
	'use strict';

	var INPUT_TYPE = 'string';

	var INPUT_REGEXP_LIST = {};
	INPUT_REGEXP_LIST['string'] = /\w*/g;
	INPUT_REGEXP_LIST['number'] = /[-]?\d+/g;
	var INPUT_REGEXP = INPUT_REGEXP_LIST[INPUT_TYPE];

	(function init() {
		this.output = function() {
			console.log.apply( console, arguments );
		};
		this.stdin = process.openStdin();
		stdin.setEncoding('utf8');
		this.input_list = [];
		stdin.on('data', function(chunk){
			var result = chunk.match(INPUT_REGEXP);
			input_list = input_list.concat(result);
		});
		stdin.on('end', function(){
			fire();
		});
		_.extend( this, {
			input_number: function() {
				return parseInt( input_list.splice(0,1)[0] );
			},
			input_text: function() {
				return input_list.splice(0,1)[0];
			},
			has_next: function() {
				return ! input_list.length;
			}
		} );
	}).call( this );

	(function solver(){
		this.fire = function() {
			setTimeout( solve, 0, this );
		};
		function solve() {
			output( input_text().split('').reverse().join('') );
			if ( ! has_next() )
				setTimeout( solve, 0, this );
		}
	}).call(this);

}).call(global);

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

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

C++: #include<stdio.h>
int main(void)
{
	int i;
	char n[20];
	scanf("%s",&n);
		for(i=9;i>=0;i--){
			printf("%c",n[i]);
		}
	return 0;
}