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

using namespace std;

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 str;
	cin >> str;
	for(int i = str.size() - 1; i >= 0; i--){
		cout << str[i];
	}
	cout << endl;
}

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

using namespace std;

string str;

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

}

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

C++: #include<iostream>
#include<cstdio>
#include<string>
#include<stdio.h>
//入力された文字列を逆順に出力
using namespace std;

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

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

C++: #include <iostream>
#include <algorithm>
#include <cstdio>
#include <cmath>
#include <string>
#include <vector>
#include <set>
#include <stack>
#include <functional>
#define rep(i, n) for(int i = 0; i < n; i++)
#define ll long long
using namespace std;


int main()
{
	cin.tie(0);
	ios::sync_with_stdio(false);
    string s;
    cin >> s;
    rep(i, s.size()) {
        cout << s[s.size() - i - 1];
    }
    cout << "\n";
	return 0;
}

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

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

using namespace std;
int main()
{
	string s = "";
	cin >> s;
	for (int i = s.length - 1; i >= 0; i--)
	{
		cout<< s[i];
	}cout << endl;
	return 0;

}

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

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

int main(int argc, char *argv[]) {
	char rcv[20];
	char out[20];
	fscanf(stdin, "%s", rcv);
	int cnt = 0;
	for (int i = 0; i < 20; i++) {
		if (rcv[i] == '\0') {
			for (int j = i-1; j !=-1; j--) {
				out[cnt] = rcv[j];
				cnt++;
			}
			out[cnt] = '\0';
			break;
		}
	}
	printf("%s", out);
	
	return 0;
}

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

int main()
{
    char str[21];
    char str121];
    int l=0;
    cin>>Str;
    for(int i=0;str[i]!='\0';)
        i++;
    for(int k=i-l;k>=0;k--,l++)
    {
        cout<<str[k];
    }
    cout<<endl;
    return 0;
}

C++: #include<iostream>

#define     MAX_LENGTH     30

using namespace std;

int main(){
	char str[MAX_LENGTH];
	int i,n;

	// 入力
	cin >> str;

	// 文字数計測
	for(n=0;(str[n] != '\n') && (str[n] != '\0');n++){
	}

	// 逆順出力
	for(i = (n - 1);i>=0;i--){
		cout << str[i];
	}
	cout << endl;

	return 0;
}

C++: #include <stdio.h>
#include <string.h>
int main() {char Tex[25];scanf("%s",&Tex);for (int j=strlen(Tex)-1;j>=0;printf("%c",Tex[j--]));puts("");return 0;}

C++: #include<iostream>
#include<string>
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<iostream>
#include<string>
using namespace std;

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

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

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

typedef long long ll;
#define MAX 12345
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define rev(i,a,b) for(int i=a;i>=b;i--)

int main()
{
    string str;

    while(cin>>str){
        ll l=str.size();
        while(l--){
            cout << str[l];
        }
        cout << endl;
    }

    return 0;
}

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

using namespace std;


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

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

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

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

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

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

int main(){
	cin.tie(0);
	ios::sync_with_stdio(false);
	//cout << fixed << setprecision(15);
	string s;cin >> s;
	for(int i = s.length()-1; i >= 0; i--){
		cout << s[i];
	}
	cout << endl;

	return 0;
}

C++: process.stdin.resume();
process.stdin.setEncoding('utf8');
// Here your code !

process.stdin.on("data",function(chunk){
    console.log(chunk.split("").reverse().join())
})

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

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

using namespace std;

class range {
private:
  struct Iterator {
    int val, inc;
    int operator*() {return val;}
    bool operator!=(Iterator& itr) {return val != itr.val;}
    void operator++() {val += inc;}
  };
  Iterator i, n;
public:
  range(int n) : i({0, 1}), n({n, 1}) {}
  range(int i, int n) : i({i, 1}), n({n, 1}) {}
  range(int i, int inc, int n) : i({i, inc}), n({n, inc}) {}
  Iterator& begin() {return i;}
  Iterator& end() {return n;}
};

template<class T> inline T at(const vector<T> &v, int i) {return v[(i % (int)v.size() + v.size()) % v.size()];}

template<class T> inline bool is_max(T &a, const T &b) {return a < b ? a = b, true : false;}
template<class T> inline bool is_min(T &a, const T &b) {return a > b ? a = b, true : false;}

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

C++: // @BEGIN_OF_SOURCE_CODE

#include <iostream>
#include <cstring>

using namespace std;

int main ()
{
    char str [20 + 10];

    scanf ("%d", str);

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

    return 0;
}

// @END_OF_SOURCE_CODE

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

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

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

  return 0;
}