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 <vector>
#include <set>
#include <queue>
#include <stack>
#include <string>
#include <sstream>
#include <list>
#include <functional>
#include <algorithm>

using namespace std;

int main(int, char**){
    string str;
    cin >> str;
    for(auto it=str.rbegin();it!=str.rend();++it) cout << *it;
    cout << endl;
    return 0;
}

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

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

	return 0;
}

C++: string = input("input data")
size = len(string)
st = []
for i in range(size):
    st.append(string[size-i-1])
print(''.join(st), end='')
print('')

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

C++: #include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<string>
#include<vector>
#include<math.h>
#include<queue>
#include <algorithm>
#include<functional>
#include<cstdlib>
#include<cmath>


#define REP(i, n) for(int i = 0;i < n;i++)
#define REPR(i, n) for(int i = n;i >= 0;i--)
#define FOR(i, m, n) for(int i = m;i < n;i++)
#define FORR(i, m, n) for(int i = m;i >= n;i--)
#define CI cin >>
#define CO cout <<
#define E << endl;

using namespace std;

typedef pair<int, int> P;
typedef pair<long, long> LP;
typedef pair<int, P> PP;
typedef pair<long, LP> LPP;



int dy[] = { 0, 0, 1, -1, 0 };
int dx[] = { 1, -1, 0, 0, 0 };

int A = 0, B = 0, K = 0, T = 0, W = 0, N = 0, H = 0;
int n = 0;
double L = 0;
double S = 0;
double ar = 0, br = 0, cr = 0;
int answer = 0;

string C;
string sA, strB;
vector<vector<char>> map;
vector<double> num;
vector<string> str;

int sum = 0;

vector<int> value;
vector<int> weight;

int dp[110][10010];

int data_[210][2] = { -2 };

void input(void) {
	CI C;
	return;
}


int main(void) {
	input();
	reverse(C.begin(), C.end());
	
	CO C E


	return 0;
}

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

int main()
{
	int i, len=0;

	char str[21];

	scanf("%s",&str);

	len = strlen(str);

	for(i=len-1; i>=0; i--)
	{
		printf("%c",str[i]);
	}

	return 0;
}

C++: #include<iostream>
#include<string.h>
using namespace std;
int main(){
	char bun[25] = {};
	int len;
	cin >> bun;
	len=strlen(bun);
	for(int i=len;i>=0;i--){
		cout<<bun[i];
	}
	cout<<endl;
	return 0;
}

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

int main(){
  string a;
  cin >>a;
  for(int i =a.size()-1;i >=0;i--){
    putchar(a[i]);
  }
  return 0;
}

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

int keta(int x){
	int i=0;
	while (x/pow(10,i)>=1){
		i++;
	}
	if (x==0){
		return 1;
	}
	else
	return i;
	}


int main(){
string s;
cin>>s;
int x=s.size();
string a="";
for (int i=1;i<=x;i++){
	a+=s[x-i];
}
cout<<a<<endl;
}

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

int main(){
	char str[64];
	int i;
	cin >> str;
	for(i=0;i<=strlen(str);i++){
		cout << str[strlen(str)-i];
	}
	//cout << endl;
	return 0;
}

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

using namespace std;

int main(void) {
	char s[21];
	cin >> s;
	reverse(s, s+strlen(s));
	cout << s;
	return 0;
}

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

using namespace std;

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

	return 0;
}

C++: #include <stdio.h>
#include <string.h>
int main( void ){
	int i;
	char s[21];
	for(i=strlen(fgets(s,21,stdin));i--;putchar(s[i]));
puts("");
	return 0;
}

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

using namespace std;

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

#define MOD 1000000007
#define REP(i, N) for (int i = 0; i < N; ++i)
#define REP1(i, N) for (int i = 1; i <= N; ++i)
#define RREP(i, N) for (int i = N - 1; i >= 0; --i)
#define ALL(a) a.begin(), a.end()

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

C++: #include <iostream>
#include <string>
using namespace std;
int main() {
  string s;
  cin >> s;
  while(!s.empty()) {
	cout << s.back();
	s.pop_back();
  }
  cout << endl;
  return 0;
}

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

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

C++: #include<stdio.h>

int main(){
    int i;
    char s[20];
    for(i=0;i<20;i++)s[i]='\0';
    scanf("%s",s);
    for(i=20-1;i>=0;i--)
        if(s[i]!='\0')printf("%c",s[i]);

    return 0;
}

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

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

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

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

typedef long long ll;
using namespace std;

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

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

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

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

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

C++: #include<stdio.h>
#include<conio.h>
int main()
{
 int i,count=0;
 char ch[20];
 gets(ch);
 for(i=0;ch[i]!='\0';i++)
 {
  count++;
 }
 for(i=count-1;i>=0;i--)
 {
   printf("%c",ch[i]);
 }
  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>
#include<algorithm>
using namespace std;

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

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

using namespace std;


int main(){
	char mozi[20];
	int last;
	scanf("%s",mozi);

	for(int i=0;mozi[i] != '\0';i++){
		last = i;
	}

	for(int i=last;0 <= i;i--){
		printf("%c\n",mozi[i]);
	}

	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 << "\n";
	return 0;
}

C++: #include <cstdio>
using namespace std;
char str[100];
int main() {
        while (~scanf("%s", str)) {
            char *ptr = str;
            while (*ptr) ++ptr;
            for (--ptr; ptr >= str; --ptr) printf("%c", *ptr);
            puts("");
        }
}

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

char str[20];
int i,len;
int main(){
	gets(str);
	len = strlen(str);
	for(i=len-1;i>=0;i--){
		printf("%c",str[i]);
	}
	printf("\n");
}