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<string>
using namespace std;
int main(){
	string a;
	while(1){
		cin >> a;
		if(a.length() < 20)
			break;
	}
	for(int i=a.length()-1; i>-1; i--){
		cout << a[i];
		}
	return 0;
}

C++: #include <cstdio>
#include <string>
using namespace std;
int main() {
  char str[20];
  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 <algorithm>
using namespace std;

int main()
{
    char ch[20];
	int i=0;
	while(cin >> ch[i]){
		i++;
	}
	for(int j=i-1 ; j>=0 ; j--){
		cout<<ch[j];
	}
	return 0;
}

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

std::string reverse_str(std::string str);

int main()
{
	std::string str;
	while (std::cin >> str)
	{
		str = reverse_str(str);
		std::cout << str << std::endl;
	}
	return 0;
}

std::string reverse_str(std::string str)
{
	std::string str_ans;
	for (unsigned long i = 1; i <= str.size(); ++i)
	{
		decltype(str)::iterator it = std::prev(end(str), i);
		str_ans += *it;
	}
	return str_ans;
}

C++: #include<iostream>
#include<cstdio>
#include<utility>
#include<climits>
#include<cmath>
using namespace std;

int main()
{
	int i, j;

	char str[20] = {};
	for (i = 0; cin >> str[i]; i++)
	{}

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

	cout << endl;
	return 0;
}

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

C++: #include<iostream>
#include<cstring>
using namespace std;
int main()
{
    char str[25];
    cin>>str;
    char rev[25];
    for(int i=0;i<strlen(str);i++)
        rev[i]=str[strlen(str)-i-1];
    rev[strlen(str)]='\0';
    cout<<rev<<endl;
}

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

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

C++: #define _USE_MATH_DEFINES
#include <iostream> 
#include <math.h>
#include <vector>
#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 <cstdio>
#include <cstring>

using namespace std;

int main()
{
	char str[22];

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

	for ( int i = strlen( str ) - 2; 0 <= i; i-- )
	{
		putchar( str[i] );
	}

	return 0;
}

C++: #include <stdio.h>
#include <string.h>
int main()
{
   char a[20];
   gets(a);
   strrev(a);
   printf("%s\n",a);

   return 0;
}

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

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

C++: #include<iostream>
using namespace std;
int main(){
  int i; int l  = 0;
	   char str[21]; char str1[21];
  cin >> str;
  for(i=0;str[i] != '\0';){i++;}
    for(int k = i-1;k >=0 ;l++, k--){
      cout << str[k];    
  }
  cout << endl;
}

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

int main(){ 
    string in,buf; 
    int f=0,b;

    cin >> in;
    b = in.size()-1;

    while(b-f >= 1){
        buf = in[f];
        in[f] = in[b];
        in[b] = buf[0]; 
        f++;    
        b--;    
    }

    cout << in << endl;
    return 0;
}

C++: #include<iostream>

using namespace std;

main(){
  
  char str[21];
  int i=0;
  while(cin >> str[i]){i++;}
  
  str[i]='\0';
  int j=i;
  for(j=i;j>=0;j--){
    
    cout << str[j] ; 
  }
  
  cout << endl;
  return 0;
}

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

using namespace std;

string reverse(string s)
{
	char *rev_c = new char[s.size()];
	for (int i = s.size() - 1; i >= 0; i--)
	{
		rev_c[s.size() - 1 - i] = s[i];
 	}
	string rev_s(rev_c, s.size());
	delete rev_c;
	return rev_s;
}

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

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

using namespace std;

int main() {

	int l;
	char t, str[64];

	cin >> str;
	l=strlen(str);

	for(int i=0; i<l/2; i++) {
		t=str[i];
		str[i]=str[l-i-1];
		str[l-i-1]=t;
	}

	cout << str;

}

C++: #include<stdio.h>
#include<string.h>
int main(void)
{
	char str[20];
	int len,i;
	scanf("%s",str);
	len=strlen(str);
	for(i=len;i>=0;i--){
		printf("%c",str[i]);
	}
	/*printf("\n");*/
	return 0;
}

C++: #include <bits/stdc++.h>
#include <iostream>
#include <string>
#include <stdio.h>
#include <math.h>
#define rep(i,n) for (int i = 0; i < (n); ++i)
using ll = long long;
typedef long double lb;
using namespace std;
int main(){
  string S;
  cin >> S;
  int SI = S.size();
  for(int i = SI - 1; i >= 0; i--){
    cout << S[i];
  }
  cout << endl;
  return 0;
}

C++: #include<stdio,h>
#include<string.h>
int main(){
char a[20];
int l,i;
scanf("%s",a);
l=strlen(a);
for(i=l-1;i>=0;i--)
printf("%c",a[i]);
return 0;
}

C++: char s[22];
main(i){
  for(;~scanf("%c",s+i);i++);
  for(;i;putchar(--i?s[i]:10));
}

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

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

	for(int i = str.length()-1; i >= 0 ; --i)
		std::cout << str.at(i);

	std::cout << std::endl;


  return 0;
}

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

	return 0;
}

C++: #define _CRT_SECURE_NO_WARNINGS
#define _USE_MATH_DEFINES
#include <stdio.h>
#include <algorithm>
#include <functional>
#include <cstring>
#include <queue>
#include <stack>
#include <math.h>
#include <iterator>
#include <vector>
#include <string>
#include <set>
#include <math.h>
#include <iostream>
using namespace std;
int main() {
	string wow;
	cin >> wow;
	for (int i = wow.size() - 1;i >= 0;--i) {
		printf("%c", wow[i]);
	}
	printf("\n");
}

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

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

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

using namespace std;

int main(){
  char str[21];
  cin >> str;
  for(int i=strlen(str);i>=0;i--){
    printf("%c",str[i]);
  }
  cout << endl;
  return 0;
}

C++: p gets.chomp.reverse

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.erase(str.size() - 1, 1);
    }
    for(int i = 0; i < size; ++i){
        if(i != size - 1){
            std::cout << que.front();
            que.pop();
        }else{
            std::cout << que.front() << std::endl;
        }
    }
    return 0;
}

C++: #include<functional>
#include<algorithm>
#include<iostream>
#include<utility>
#include<string>
#include<vector>
#include<cmath>
#include<stack>
#include<queue>
#include<deque>
#include<map>
#define rep(i,n) for(int i=0;i<n;i++)
#define loop(i,x,n) for(int i=x;i<n;i++)
#define pf push_front
#define pb push_back
#define int long long
using namespace std;
const int INF=1000000007;
int dx[4]={1,0,-1,0};
int dy[4]={0,1,0,-1};



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