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 <bits/stdc++.h>
using  namespace std;
#define ll    long long int
#define pai     pair<int,int>
#define vi      vector<int>
#define vd      vector<double>
#define mpi     map<int,int>
#define mps     map<string,int>
#define sti     stack<int>
#define stc     stack<char>
#define sei     set<int>
#define ses     set<string>
#define multii  multiset<int>

 int main()
{
 /*#ifndef ONLINE_JUDGE
  freopen("tin.txt","r",stdin);
  freopen("tout.txt","w",stdout);
  #endif*/
string s;
cin>>s;
reverse(s.begin(),s.end());
cout<<s<<endl;

}

C++: #include <iostream>

using namespace std;
string reverse(string src)
{
  int size = src.size();
  string dest = string(size, '_');
  for (int i = 0; i < size; i++) {
    dest[size-i-1] = src[i];
  }
  return dest;
}

int main(int argc, char const* argv[])
{
  string input;
  cin >> input;
  cout << reverse(input) << endl;
  return 0;
}

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

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 << endl;

}

C++: #include <iostream>

int main(void) {
  std::string str;
  
  std::cin >> str;

  for (int i = str.size() - 1; i >= 0; i--) {
    std::cout << str.at(i);
  }

  std::cout << std::endl;
   
  return 0;
}

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

int main()
{
	char s[21];
	cin.getline(s, 21, '\n');
	int l = strlen(s);
	for (int i = l - 1; i >= 0; i--)
		cout << s[i];
	return 0;
}

C++: #include <cstdio>

int main(int argc, char const *argv[]){
//	freopen("in.txt", "r", stdin);

	char s[21];
	while(scanf("%s", s) != EOF){
		int i = 0;
		while(s[i] != '\0')i ++;
		i --;
		while(i >= 0){
			printf("%c", s[i]);
			i --;
		}
		printf("\n");
	}

	return 0;
}

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



int main() {
	char a[25];
	int i = 0;
	cin >> a;
	int b = strlen(a);
	for(b ;b>=0;b--)
		cout << a[b] ;
	cout << endl;
	return 0;
}

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

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

C++: #include<iostream>
#include<vector>
using namespace std;
	
int main(){
	vector<char> s;
	char t;
	while(cin>>t){
		s.push_back(t);
	}
	for(vector<char>::reverse_iterator  it = s.rbegin(); it != s.rend(); it ++)
	{
		cout<<(*it);
	}

	
	cout<<endl;
}

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

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

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

C++: #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cctype>
#include <cstring>
#include <sstream>
#include <string>
#include <vector>
#include <map>
#include <set>
#include <list>
#include <stack>
#include <queue>
#include <algorithm>
#include <complex>
#include <iterator>
using namespace std;

typedef pair<int, int> pii;
typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<string> vs;

#define all(c) (c).begin(), (c).end()
#define rall(c) (c).rbegin(), (c).rend()
#define tr(c, i) for(auto i = (c).begin(); i != (c).end(); i++)
#define rtr(c, i) for(auto i = (c).rbegin(); i != (c).rend(); i++)
#define repfn(i, a, cont, next) \
  for(auto i = (a); [=](){return(cont);}(); i = [=](){return(next);}())
#define repby(i, a, b, step) repfn(i, a, i < b, i + step)
#define repab(i, a, b) repby(i, (a), (b), 1)
#define rep(i, n) repab(i, 0, (n))
#define pb push_back
#define sz(c) int((c).size())

int main(int argc, char **argv)
{
  string s;
  while (cin >> s) {
    reverse(all(s));
    cout << s << endl;
  }
  return 0;
}

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

int main(){
 char str[20];
 int i;
 cin>>str;
 for(i=strlen(str)-1;i>=0;i--){
	cout<<str[i];
 }
 cout<<endl;
}

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

using namespace std;


#define all(c) ((c).begin()), ((c).end())
#define debug(c) cerr << "> " << #c << " = " << (c) << endl;
#define iter(c) __typeof((c).begin())
#define tr(i, c) for (iter(c) i = (c).begin(); i != (c).end(); i++)
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define REP(i, a, b) for (int i = (int)(a); i <= (int)(b); i++)

#define mp make_pair
#define fst first
#define snd second
#define pb push_back


const double EPS = 1e-10;


typedef long long ll;
typedef vector<int> vi;
typedef pair<int, int> pii;
typedef complex<double> P;



int main(){
	string s; cin >> s;
	reverse(all(s));
	cout << s << endl;
	return 0;
}

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

using namespace std;

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

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

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

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

using namespace std;

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

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

using namespace std;

int main() {

	char str[20];
	int i, len;

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

	for (i = len - 1; i >= 0; i--)
		cout << str[i];

	return 0;

}

C++: #include<iostream>
#include<string.h>
using namespace std;
int main(){
	char bun[25] = {};
	int len;
	cin >> bun;
	len=strlen(bun);
	for(int i=len-1;i>=0;i--){
		cout<<bun[i];
	}
	cout<<endl;
	return 0;
}

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

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

using namespace std;
int a;
char test[20];
char temp;

int main()
{
	scanf("%s",test);
	for(a=strlen(test)-1;a>=0;a--)
	printf("%c",test[a]);
	return 0; 
}

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

int main()
{
	int i=0, len=0;

	char str[21];

	gets(str);

	len = strlen(str);

	for(i=len; i>=0; i--)
	{
		printf("%c",str[i]);
	}

	return 0;
}

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<algorithm>
#include<functional>

using namespace std;

int main(){
	int j=0;
	string str;
	char ans[20];
	cin >> str;
	for(int i=str.size()-1;i>=0;i--){
		ans[j] = str[i];
		j++;
	}
	ans[j] = '\0';
	cout << ans << endl;
	return 0;
}