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 <cstdio>
#include <cmath>
#include <cstring>
#include <cstdlib>
#include <climits>
#include <ctime>
#include <queue>
#include <stack>
#include <algorithm>
#include <list>
#include <vector>
#include <set>
#include <map>
#include <iostream>
#include <deque>
#include <complex>
#include <string>
#include <iomanip>
#include <sstream>
#include <bitset>
#include <valarray>
#include <iterator>
using namespace std;
typedef long long int ll;
typedef unsigned int uint;
typedef unsigned char uchar;
typedef unsigned long long ull;
typedef pair<int, int> pii;
typedef vector<int> vi;

#define REP(i,x) for(int i=0;i<(int)(x);i++)
#define FOR(i,c) for(__typeof((c).begin())i=(c).begin();i!=(c).end();i++)
#define RREP(i,x) for(int i=((int)(x)-1);i>=0;i--)
#define RFOR(i,c) for(__typeof((c).rbegin())i=(c).rbegin();i!=(c).rend();i++)
#define ALL(container) container.begin(), container.end()
#define RALL(container) container.rbegin(), container.rend()
#define SZ(container) ((int)container.size())
#define mp(a,b) make_pair(a, b)
#define UNIQUE(v) v.erase( unique(v.begin(), v.end()), v.end() );

template<class T> bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T> bool chmin(T &a, const T &b) { if (a>b) { a=b; return 1; } return 0; }
template<class T> ostream& operator<<(ostream &os, const vector<T> &t) {
os<<"["; FOR(it,t) {if(it!=t.begin()) os<<","; os<<*it;} os<<"]"; return os;
}
template<class T> ostream& operator<<(ostream &os, const set<T> &t) {
os<<"{"; FOR(it,t) {if(it!=t.begin()) os<<","; os<<*it;} os<<"}"; return os;
}
template<class S, class T> ostream& operator<<(ostream &os, const pair<S,T> &t) { return os<<"("<<t.first<<","<<t.second<<")";}

const int INF = 1<<28;
const double EPS = 1e-8;
const int MOD = 1000000007;


int n, m;
string str;
main(){
	cin >> str;
	reverse(ALL(str));
	cout << str << endl;
	return 0;
}

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

C++: #include<iostream>

using namespace std;

int main(void) {
	int i;
	char a[20];
	
	cin >> a;
	
	for(i=0; a[i] != 0; i++);
	for(i-=1; i>=0; i--) {
		cout << a[i];
	}
	cout << endl;
	
	return 0;
}

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

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

using namespace std;



int main(){
	char a[21];
	char b[21];
	cin>>a;
	int pos=0;
	for(int i=0;i<21;i++){
		if(a[i]=='\0')
			break;
		pos++;
	}
	int pos2=pos;
	b[pos]='\0';
	pos--;
	for(int n=0;n<pos2;n++){
		b[n]=a[pos];
		//cout << a[pos];
		pos--;
	}
	cout<<b<<"\n";
	return 0;
}

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

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

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

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

C++: #include<stdio.h>
#include<string.h>
int main()
{
    int l,i,j,b,k;
    char n[1000];
    while(gets(n))
    {
        l=strlen(n);
        b=-1;
        for(i=0;i<l;i++)
        {
            if(n[i]==' ')
            {
                for(j=i-1;j>b;j--)
                printf("%c",n[j]);
                printf(" ");
                b=i;
            }
        }
        for(i=l-1;i>b;i--)
            printf("%c",n[i]);
        printf("\n");
    }
    return 0;
}

C++: #include <stdio.h>

int main(){

	char str[20] = {},i;
	
	scanf("%s", str);
	
	for (i = 0; i < 20; i++){
		if (str[19 - i] >0){ printf("%c", str[19-i]); }
	}

	printf("\n");

	return 0;
}

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(){
    char str[20];
    int i,j;
    gets(str);
    j = strlen(str);
    for(i=j-1;i>=0;i--){
        printf("%c",str[i]);
    }
    return 0;
}

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

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

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

C++: #include <iostream>
#include<algorithm>
#include<cmath>
#include <string>
#include <vector>
typedef unsigned long long ULL;

 int main (){
	 std::string str;

	 std::cin >> str;

	 for (int i = 0; i < str.size(); ++i) {
		 std::cout << str[str.size() - 1 - i];
	 }

	 return 0;
}

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

C++: #include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{   
    char a[20];
    char b[20];
    scanf("%s", a);
    int i = 0;
    int j = 0;
    while (strcmp(&a[i], "\0") != 0) {
        i += 1;
    }
    i -= 1;
    strcpy(&b[i], &a[i]);
    for (; i >=  0; i--) {
        b[j] = a[i];
        j += 1;
    } 
    printf("%s", b);
    return 0;
}

C++: #include <iostream>
#include <string>
using namespace std;
string s;
int main(){
    cin >> s;
    for(string::reverse_iterator it = s.rbegin(); it != s.rend(); it++) cout<<*it;
    return 0;
}

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

int main()
{
	char *a;
	char str[256];
	// cout << "data_size=" << data_size << endl;
	while (cin.getline(str,256)){
		int data_size = sizeof(a) / sizeof(a[0]);
		for(int i=0;i<=data_size;i++)
			cout << str[data_size - i];
		cout << endl;
	}
	return 0;
}

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


using namespace std;

int main() {
int kazu;
char rin[21];
scanf("%s",rin);
	
	kazu = strlen(rin);
	
	for(int i = kazu-1; i >= 0; i--) {
	 cout << rin[i];
	}
	
	cout << "\n";
	
    return 0;
}

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

int main(void);
std::string rev_string(std::string str);

int main(){
	std::string str = "";
	std::cin >> str;
	std::cout << rev_string(str);

	//while (1);
	return 0;
}

std::string rev_string(std::string str){
	int i;
	int len = str.length();
	for (i = 0; i < len / 2; i++) {
		char temp = str[i];
		str[i] = str[len - i - 1];
		str[len - i - 1] = temp;
	}

	return str;
}

C++: #include <iostream>
#include <string>
using namespace std;
int main(void){
    int len;
    string a;
    std::cin >> a;
    len =a.length();
    if(len <= 20){
        for(int i = len - 1; i >=0; i--){
            if( isupper( a.at(i) )  == 0)
                std::cout << a.at(i);
        }
    }
    return 0;
}