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

using namespace std;

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

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

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

C++: //#define _USE_MATH_DEFINES
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <cstdlib>
//#include <cmath>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <map>
#include <list>
#include <queue>
#include <set>
using namespace std;

int main(void){

	char str[50];
	
	cin >> str;
	
	int len = strlen(str);

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

	return 0;
}

/*
for(i=0;i<N;i++){
cin >> X[i];
}


for(i=0;i<N;i++){
for(j=0;j<N;j++){
cin >> X[i][j];
}
}
*/

C++: #include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int main()
{
    char a[100];
    int i;
    for(i=0;(a[i]=getchar())!='\n';i++);
    for(int j=i-1;j>=0;j--){
        cout<<a[j];
    }
    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 <iostream>
#include <string>
using namespace std;

// http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0006

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

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

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

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

C++: #include <iostream>
#include <algorithm>
#include <cstdio>
#include <string>
#include <sstream>
#include <cstdlib>
#include <cmath>
 
using namespace std;

int main(){
    string str = "";
    cin >> str;
    reverse(str.begin(), str.end());
    cout << str << 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 <stdio.h>
int main(void){
    // Your code here!
    int main(void){
    char str[100];
    int i;
    int count=0;
    
    scanf("%s",str);
    
    for(i=0;str[i]!='\0';i++){
        count++;
    }
    for(i=count-1;i>=0;i--){
        printf("%c",str[i]);
    }
    printf("\n");

    return 0;
}

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

int main(void){

	char s[21];
	int i;

	scanf("%s",s);

	for(i=0; i<strlen(s);i++){

		printf("%c",s[strlen(s)-i]);

	}

	return 0;
}

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

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

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

int main()
{
	std::string input;
	std::cin >> input;
	for (std::string::const_reverse_iterator i = input.rbegin(); i != input.rend(); ++i) {
		std::cout << *i;
	}

	return 0;
}

C++: #include <iostream>
#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 <string>
int main() {
	std::string s;
	std::cin>>s;
	std::cout<<std::string(s.rbegin(), s.rend())<<std::endl;
}

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

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

	for(int i = str.length() - 1; i >= 0; i--)
		cout << str[i];
	cout << NULL; 

	return 0;
}

C++: #include<iostream>
#include<string>
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<stdio.h>
#include<string.h>

int main()
{
    char a[100];
    gets(a);
    printf("%s",strrev(a));
}

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

int main(void){

    std::string str;
    std::getline(std::cin,str);
    str.reverse(str.begin(),str.end());
    std::cout<<str<<std::endl;
    return 0;
}

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

using namespace std;
            
int main(){

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

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

int main(){
	std::array<char, 20>str;
	
	for(int i=0; i<20; ++i){
		std::cin >> str[i];
	}
	
	for(int i=str.size()-1; i>=0; --i){
		std::cout << str[i];
	}
	std::cout << std::endl;
	return 0;
}

C++: /*文字列 str を入力し、その文字列を逆順に出力するプログラムを作成して下さい。
文字は半角英数字のみで、20 文字以内とします。*/ 
#include<iostream>
using namespace std;
int main(){
    string str;
    cin>>str;
    char ji[str.size()];
    for(int i=0;i<=str.size();i++){
       ji[i]=str[str.size()-i];
    }
    for(int i=0;i<=str.size();i++){
       cout<<ji[i];
    }
    cout<<endl;
}

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

int main(){
	std::string st;
	std::cin >> st;
	
	while(!(st.empty())){
		std::cout << st.back();
		st.pop_back();
	}
	std::cout << std::endl;
	return 0;
}

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

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

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

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 s;
  while (cin>>s){
    reverse(s.begin(),s.end());
    cout<<s<<endl;
  }
}

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

int main(void) {
  char s[50];
  int i;
  scanf("%s", s);
  for(i = strlen(s) - 1; i >= 0; --i) printf("%c", s[i]);
  printf("\n");
  return 0;
}

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

typedef long long ll;
typedef pair<ll, ll> P;

#define pb push_back
#define rep(i, n) for(int i = 0; i < (n); i++)
#define dep(i, a, n) for(int i = a; i >= (n); i--)
#define FOR(i, a, n) for(int i = a; i < (n); i++)
#define mod (ll)(1e9+7)
#define int ll
#define INF 100000000

__attribute__((constructor))
void initial() {
  cin.tie(0);
  ios::sync_with_stdio(false);
}

signed main() {
	string s;
  cin >> s;
  dep(i, s.size() - 1, 0) cout << s[i];
  cout << endl;
	return 0;
}

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

int main(){

	int i=0;
	char c,ca[20];
	
	while(cin>>c){
		ca[i++]=c;
	}
	while(i--){
		cout << ca[i];
	}
	cout << endl;
	return 0;
}

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

int main(){
	char s[21];
	cin >> s;
	int len=strlen(s);

	for(int i=0;i<(len/2);i++){
		char c;
		c = s[i];
		s[i] = s[len-i-1];
		s[len-i-1] = c;
	}
	cout<<s<<"\n";
return 0;
}

C++: #include <cstdio>
#include <stack>

using namespace std;

int main()
{
	char str[22];
	stack<char> stk;

	fgets( str, sizeof( str ) - 1, stdin );

	for ( int i = 0; str[i] != '\n'; i++ )
	{
		stk.push( str[i] );
	}

	while ( !stk.empty() )
	{
		putchar( stk.top() );
		stk.pop();
	}	

	return 0;
}