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

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

#ifndef typeof
#define typeof __typeof__
#endif // typeof
 
#define all(c) (c).begin(), (c).end()
#define rall(c) (c).rbegin(), (c).rend()
#define tr(c, i) for(typeof((c).begin()) i = (c).begin(); i != (c).end(); i++)
#define rtr(c, i) for(typeof((c).rbegin()) i = (c).rbegin(); i != (c).rend(); i++)
#define repby(i, a, b, step) for(typeof(b) 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())

void reverse(string &s)
{
        int i, j;
        char c;

        for (i = 0, j = sz(s) - 1; i < j; i++, j--) {
                c = s[i];
                s[i] = s[j];
                s[j] = c;
        }
}

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

  return 0;
}

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

using namespace std;

typedef unsigned long long ull;
#define loop(i,a,b) for(int i=(a);i<ull(b);++i)
#define rep(i,n) loop(i,0,n)
#define all(a) (a).begin(), (a).end()

const double eps = 1e-10;
const double pi  = acos(-1.0);
const double inf = (int)1e8;

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

C++: /*Filename: aoj0006.cpp
 *Author: Mushiyo
 */

#include <iostream>

using namespace std;

int main(){
	string str;

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

	return 0;
}

C++: #include <iostream>
using namespace std;
int main(){
	char t[21];
	char flug=0;
	cin>>t;
	for(int i=20;i>=0;i--){
		if(flug==1){
			cout<<t[i];
		}
		if(t[i]=='\0'){
			flug=1;
		}
	}
	cout<<endl;
	return 0;
}

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];
	}
	cout << endl;
	return 0;
}

C++: #include <iostream>
#include <string>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <algorithm>
#include <sstream>
#include <cmath>
#include <set>
#include <iomanip>
using namespace std;

#define REP(i,n) for(int (i)=0;(i)<(int)(n);(i)++)
#define REMOVE(Itr,n) (Itr).erase(remove((Itr).begin(),(Itr).end(),n),(Itr).end())
#define PB_VEC(Itr1,Itr2) (Itr1).insert((Itr1).end(),(Itr2).begin(),(Itr2).end())
#define UNIQUE(Itr) sort((Itr).begin(),(Itr).end()); (Itr).erase(unique((Itr).begin(),(Itr).end()),(Itr).end())
#define BOUND(Itr,val) lower_bound((Itr).begin(),(Itr).end(),(val))
typedef long long ll;

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

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

using namespace std;

int main() { 
    string A; 

    while( cin >> A ) {

    for(int i=A.length()-1;i>=0;i--)
    cout << A[i];
    
    cout << "\n";
	}
    return 0; 
}

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


int main() {

	string str;
	char a[20];
	int size = 0;
	cin >> str;

	for (int i = 0;;i++) {
		if (str[i] == '\0')break;
		size++;
	}

	for (int i = size; i > 0; i--) {
		printf("%c", str[i - 1]);
	}
	printf("\n");

	//system("pause");
	return 0;
}

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

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

int main(){
    std::string str;
    std::queue<char> que;
    std::cin >> str;
    const int size = str.size();
    for(int i = 0; i < size; ++i){
        que.push(str.back());
        str.pop_back();
    }
    for(int i = 0; i < size; ++i){
        std::cout << que.front();
        que.pop();
    }
    return 0;
}

C++: #include <iostream>
#include <string>
#include <algorithm>
#include <cstdio>
#include <vector>
#include <queue>
#include <set>
#include <numeric>
#include <cmath>

using namespace std;

typedef long long int lld;

const lld mod = 1e9+7;
const lld INF = 1e9;
//const lld MAXN = 1e9;

int main()
{
	string str;
	cin >> str;
	int n = str.size();

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

	return 0;
}

C++: #include <iostream>
#include <iomanip>
#include <cmath>
#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<iostream>
#include<iomanip>
#include<cmath>
#include<string>
#include<vector>
#include<list>
#include<algorithm>
#include<map>
#include<set>
#include<queue>
#include<stack>
using namespace std;
typedef long long ll;
#define fi first
#define se second
#define mp make_pair
#define rep(i, n) for(int i=0;i<n;++i)
#define rrep(i, n) for(int i=n;i>=0;--i)
const int inf=1e9+7;
const ll mod=1e9+7;
const ll big=1e18;
const double PI=2*asin(1);

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

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

int main(){
	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>
#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 <iostream>
#include <string>

using namespace std;

int main()
{
	string str;
	cin >> str;
	
	for (string::reverse_iterator rit = str.rbegin(); rit != str.rend(); rit++) {
		cout << *rit;
	}
	cout << endl;
	
	return 0;
}

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

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

	return 0;
}

C++: 

#include<cstdio>
#include<cstring>

using namespace std;

int main()
{
    char s[20];
    int n,T;
    while(cin>>s){
       n=strlen(s);
       
       for(int i=0;i<(n/2);i++){
          T=s[i];
          s[i]=s[n-i-1];
          s[n-i-1]=T;        
       }             
       cout<<s<<endl; 
    }
    return 0;
}