Go: package main

import (
	"bufio"
	"fmt"
	"os"
)

var sc = bufio.NewScanner(os.Stdin)

func main() {
	sc.Scan()
	s := sc.Text()
	l := len(s)
	r := make([]rune, l)
	for i, c := range s {
		r[l-i-1] = c
	}
	fmt.Println(string(r))
}

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

int main(void){

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

C++: #include <iostream>
 
using namespace std;
 
int main() {
    char str[25];
    for (int i=0;i<25;i++) {
    	str[i]='$';
    }
    cin >> str;
    int x;
    for (int i=0;;i++) {
    	if (str[i]=='$') {
    		x=i-1;
    		break;
    	}
    }
    for (int i=0;i<=x;i++) {
    	cout << str[x-i];
    }
    //cout << endl;
    return 0;
}

C++: #include <iostream>
using namaspace std;
int main(){
	char str[20];	
	for (int A=0;A<20;A++)cin>>str[A];
	for (int A=19;A>=0;A--)cout<<str[A];
	cout<<endl;
	return 0;
}

C++: #include <iostream>
#include <cstring>
using namespace std;
  
int main(){
    char str[21];
    char temp[21];
  
    memset(str, 0, sizeof(str));
    memset(temp, 0, sizeof(temp));
  
    while(cin >> str){
		int i=0;
        int n = strlen(str);
		for(n--; n>=0; ){
            temp[i++] = str[n--];
        }
        cout << temp << endl;
    }
    return 0;
}

C++: #include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <sstream>
#include <cstdio>
#include <cmath>
#include <stdint.h>
using namespace std;

int main()
{
  string str; cin >> str;
  reverse(str.begin(), str.end());
  cout << str << 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(); i>=0; --i){
		std::cout << str[i];
	}
	return 0;
}

C++: #include <stdio.h>

#include <iostream>

int main() {

	const int len = 20;
	char charr[len + 1];

	scanf("%s", charr);

	for (int i = 20; i >= 0; i--) {
		if (charr[i] != NULL)
			std::cout << charr[i];
	}

}

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[len];
        }
        cout << endl;
    }

    return 0;
}

C++: #include <iostream>
#include <vector>
#include <map>
#include <set>
#include <algorithm>
#include <queue>
#include <stack>
#include <cmath>
#include <cstdio>
#include <string>
#include <sstream>

using namespace std;

#define rep(i, n) for(int i = 0; i < (int)n; ++i)
#define repn(i, n) for(int i = 1; i <= (int)n; ++i)
#define pb push_back
#define lb lower_bound
#define mp make_pair
#define ite iterator
#define max2(x, y) ((x) > (y)) ? (x) : (y)
#define max3(x,y,z) max2((x), max2((y),(z)))
#define max4(v,w,x,y) max2(max2((v),(w)), max2((x),(y)))
#define min2(x, y) ((x) > (y)) ? (y) : (x)
#define min3(x,y,z) min2((x), min2((y),(z)))
#define min4(v,w,x,y) min2(min2((v),(w)), min2((x),(y)))
#define ul unsigned long
#define ull unsigned long long
#define INF 1000000007
#define MOD 1000000007
#define fs first
#define sd second

template<typename T>
bool elem(set<T> st, T val){
	return (st.find(val) != st.end());
}

template<typename T>
void printv(vector<T> vt){
    rep(i, vt.size() - 1)
        cout << vt[i] << " ";
    cout << vt[vt.size() - 1] << endl;
}

typedef vector<int> vint;
typedef vector<ul> vul;
typedef vector<ull> vull;
typedef pair<int, int> pii;


int main(void){
    string str;
    cin >> str;
    rep(i, str.length()) cout << str[str.length() - 1 - i];
    cout << endl;
    return 0;
}

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

C++: #include <algorithm>
#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>

using namespace std;

int main()
{
  string str;

  cin>>str;


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

 return 0;
}

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

int main( void ){
    char str[20];
    scanf( "%s",str );
    int lStr = strlen( str )-1;
    for( int i = 0;i < strlen( str );i++ ){
        printf( "%c",str[lStr] );
    return 0;
}

C++: #include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
char a[21];
int main()
{
	char s,i=1,j;
	cin.get(a,20);
	s=strlen(a);
	for(j=s-1;j>=0;j--)cout<<a[j];
	return 0;
}

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

int main(){
    char str[20],res[20];
    int n;
    scanf("%s",str);
    n = strlen(str);

    printf("%s\n",str);
    for(int i = 0; i < n; i++){
        res[n - i - 1] = str[i];
    }
    printf("%s\n",res);
    return 0;
}

C++: #include<stdio.h>
#include<string.h>
int main()
{
    char arr[30];
    int i,s;
    gets(arr);
    s=strlen(arr);
    for(i=s-1;i>=0;i--)
    {
        printf("%c",arr[i]);
    }
    printf("\n");
    return 0;
}

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

int main(void)
{
  char str[20], reversed_str[20];
  scanf("%s", str);
  int len = strlen(str);

  int i;
  for(i=0; i<len; ++i){
    reversed_str[i] = str[len-1-i];
  }
  reversed_str[len] = '\0';

  printf("%s\n", reversed_str);

  return 0;
}

C++: #include <iostream>
#include <algorithm>
#include <cstdio>
#include <map>
#include <string>
using namespace std;
#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,n) FOR(i,0,n)

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

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

using namespace std;

int main() {
    char buf[24];
    scanf("%s", buf);
    string str(buf);

    reverse(str.begin(), str.end());

    printf("%s\n", str.c_str());
    return 0;
}