Go: package main

import (
	"fmt"
)

func main() {
	var str string
	fmt.Scanf("%s", &str)
	fmt.Printf("%s\n", strReverse(str))
}

func strReverse(str string) string {
	data := []rune(str)
	result := []rune{}

	for i := len(data) - 1; i >= 0; i-- {
		result = append(result, data[i])
	}

	return string(result)
}

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

int main(){
    stack<char> str;
    char c;
    while(1){
        scanf("%c",&c);
        if(c=='\n'||c==EOF) break;
        str.push(c);
    }
    while(!str.empty()){
        printf("%c",str.top());
        str.pop();
    }
    printf("\n");
    return 0;
}

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

using namespace std;

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

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

using namespace std;

int main(void)
{
    string str;
    getline(cin, str);

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

    return 0;
}

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

main() {
  string s; cin>>s;
  for(string::reverse_iterator it = s.rbegin();it!=s.rend();it++)
    cout << * it;
  cout << endl;
}

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

using namespace std;

int main() {
    int i,len;
    string ch;

    while(cin >> ch){

    len = ch.length();

    for(i = 0;i < len / 2;i++){
        char box = ch[i];
        ch[i] = ch[len - i];
        ch[len - i] = box;
    }

    for(i = 0; i <= len;i++){
        cout << ch[i];
    }
    cout << endl;

    }

    return 0;
}

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

using namespace std;

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

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

using namespace std;

int main() {
	string s;

	cin >> s;
	reverse(s.begin(), s.end());
	cout << s << endl;

	return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;
typedef long long LL;
#define REP(i,N) for(int i = 0; i < (int)N; i++)


int main(){
	string s;
	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 str;
    
    cin >> str;
    
    int i = str.size();
    
    reverse(&str[0], &str[i]);

    cout << str << endl;
    
    return 0;
}

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

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

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

int main(){
  std::string s,t;
  std::cin >> s;
  while( ! s.empty() ) {
    t += s[ s.size() - 1 ];
    s.erase( s.size() - 1 );
  }
  std::cout << t << std::endl;
  return 0;
}

C++: #include <iostream>
#include <iomanip>
#include <cmath>
#include <string>
#include <cstring>
#include <utility>
#include <vector>
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#define debug(x) cerr << #x << ':' << x << endl
#define rep(i,n) for(int i=0;i<(int)n;++i)
#define ALL(c) (c).begin(), (c).end()
using namespace std;
typedef long long ll;

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

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

int main(void) {
  char s[100] = {0};
  int i = 0;
  scanf("%s", s);
  i = sizeof(s)-3;
  while(i >= 0)
  putchar(s[i--]);
  
  putchar('?\n');
  return 0;
}

C++: #include <iostream>
#include <cstdio>
#include <stdio.h>
#include <string.h>
using namespace std;
int main()
{
    char str[50];
    while(cin>>str)
    {
        int len=strlen(str);
        for(int i=len-1; i>=0; i--)
            cout<<str[i];
    }
}

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

int main()
{
	string x;
	cin >> x;
		for(int i=0;i<x.length();i++)
			cout << x[x.length()-i-1];
	return 0;
}

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

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

C++: #include<iostream>
#include<string>
#include<algorithm>
#include<vector>
#include<queue>
#include<map>
#include<math.h>
#include<iomanip>
#include<set>
#include<numeric>
#include<cstring>
#include<cstdio>
#include<functional>
#include<bitset>
#include<limits.h>
#include<cassert>
#include<iterator>
#include<complex>
#include<stack>
#include<sstream>
#include<iterator>
using namespace std;
typedef  long long int lint;
typedef pair<int, int> IP;
typedef pair<lint, lint> LLP;
typedef pair<char, char>CP;
#define rep(i, n) for (int i = 0; i < n; i++)
#define repr(i, n) for (int i = n; i >= 0; i--)
#define sort(v) sort((v).begin(), (v).end())
#define reverse(v) reverse((v).begin(), (v).end())
#define upper(v,hoge) upper_bound(v.begin(),v.end(),hoge)
#define lower(v,hoge) lower_bound(v.begin(),v.end(),hoge)
#define llower(v,hoge) *lower_bound(v.begin(), v.end(), hoge)
#define lupper(v,hoge) *upper_bound(v.begin(), v.end(), hoge)

int main() {
	string S;
	cin >> S;
	reverse(S);
	cout << S << endl;
}

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

#include "mathematical.h"

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

C++: print raw_input()[::-1]

C++: #include <iostream>
#include <bits/stdc++.h> 
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(){
	string str;
	string ans;
	while(1){
		cin >> str;
		ans = str;
		for (int i = 0; i < str.size(); i++){
			ans[i] = str[str.size() - i - 1];
		}
		cout << ans << endl;
	}
}

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

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

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

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

using namespace std;

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

    cout<<"\n";

    return 0;
}

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

using namespace std;

int main()
{
	string s;
	char c;
	
	while (getline(cin, s))
	{
		for (string::reverse_iterator it = s.rbegin(); it < s.rend(); it++)
		{
			cout << *it;
		}
	}
	
	return 0;
}

C++: #include<cstdio>
#include<cstring>
int main(){
	char str_i[20],str_o[20];
	scanf("%s",str_i);
	int l = strlen(str_i);
	printf("%d\n",l);
	for(int i=0;i<l;i++){
		str_o[i] = str_i[l-1-i];
		printf("%c",str_o[i]);
	}
	printf("\n");
	return 0;
}