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<cstring>
using namespace std;
int main(void){
  string str;
  int len;

  while(cin >> str){
  len=str.length();

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

  }
  cout<<'\0';
  cout << endl;
  }
  return 0;

}

C++: #include<iostream>
#include<cmath>
#include<string>
#include<cctype>
#include<vector>
#include<numeric>
#include<algorithm>
using namespace std;
int main(){
        //char s[20];
        string s;
        cin >> s;
//      scanf("%s",s);
        for(int i=s.size();i>=0;i--){
                printf("%c",s[i]);
        }
        printf("\n");
        return 0;
}

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

string S;
int A[10000];
int main(){
	cin>>S;
	int a=S.size();
	for(int i=a-1;i>=0;i--){
		cout<<S[i];
	}
	cout<<endl;
	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<iostream>
using namespace std;

int main()
{
    char str[21];
    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>
#include<string.h>
using namespace std;

int main(void){

  char word[25];
  int i,length;
  
  cin >> word;
  length = strlen(word);
  
  for(i = length - 1; i >=0; i--){
   cout << word[i];
  }
  
  cout << endl;
  
  return 0;

}

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

C++: #include <stdio.h>

int main(){
	
	char a[25],b[25]={'0'};
	int s,t;
	
	scanf("%s",a);
	
	for(s=0;a[s]!='\0';s++)
	
	for(t=0;a[t]!='\0';t++){
		
		b[s-t]=a[t];
		
	}
	
	printf("%s",b);
	
	return 0;
}

C++: #include<stdio.h>
int main()
{ char a[20],i=0;
 while((a[i]=getchar())!='\n'&&i<20)i++;
 i--;
 for(;i>=0;i--)
 printf("%c",a[i]);
 return 0;
}

C++: #include <stdio.h>

int main(void)
{
	char str[21];
	int i, j;

	scanf("%s", str);

	i = 0;
	while (str[i] != '\0'){
		i++;
	}

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

	return (0);
}

C++: #include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include <iostream>
#include <map>
#include <numeric>
#include <set>
#include <sstream>
#include <string>
#include <vector>
#include <cmath>
using namespace std;

#define FOR(i,s,e) for (int i = int(s); i != int(e); i++)
#define REP(i,e) for (int i = 0; i != int(e); i++)
#define FORIT(i, A) for (auto i : A)
#define ISEQ(c) (c).begin(), (c).end()
#define PRINT(x) cout << (x) << endl
#define SZ(x) ((int)(x).size())

int main(int argc, char const *argv[])
{
	char buf[21];
	char ans[21];
	scanf("%s", buf);
	int i = 0;
	for (;i < 21; i++)
	{
		if (buf[i] == '\0') break;
	}
	i--;
	for (int j = 0; j <= i; j++)
	{
		ans[j] = buf[i-j];
	}
	ans[i+1] = '\0';
	printf("%s\n", ans);
	return 0;
}

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

int main(){
string a;
int c;
string d[20];
c=0;
cin >> a;
while(string b(a,c,0)){
d[c]=b;
c=c+1;}
int e;
e=c-1;
while(e>=0){
cout << d[e];
e=e-1;}


}

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

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

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

C++: #include<iostream>
#include<math.h>
#include<algorithm>
#include<string.h>
using namespace std;
int main(){
    string x;
    int i;
    cin>>x;
    for(i=x.size();i>=0;i--){
        cout<<x[i];
    }
    cout<<endl;
    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;
	for (int i = 1; i < s.length()+1; i++){
		cout << s[s.length() - i];
	}
	cout << endl;
	return 0;
}

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

int main(){
	char w[20];
	char q[20];
	cin >> w;

	for(int i=0; i<strlen(w); i++){
		q[i] = w[strlen(w)-i-1];
	}

	cout << q << endl;
	return 0;
}

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

C++: #include <bits/stdc++.h>
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;

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

C++: #include<iostream>
using namespace std;
	
int main()
{
	char change[19];
	cout<<"??????????????\????????????????????????\n";
	cin>>change[19];
	for(int i=19;i>=0;i--){
	cout<<"change[i];
	}
	return 0;
}

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

/* char* reverse_str(char *a)
{
	int data_size = sizeof(*a) / sizeof(a[0])- 1;
	for(int i=0;i<=data_size;i++){
		char temp1 = a[i];
		a[i] = a[data_size-i];
		a[data_size-i] = temp1;
	}
	return a;
} */

int main()
{
	char *a;
	/* char str[512];
	cin.getline(str,512); */
	string str;
	cin >> str;
	int data_size = str.length() - 1;
	cout << "data_size=" << data_size << endl;
	for(int i=0;i<=data_size;i++)
		cout << str[data_size - i];
	// cout << endl;
	return 0;
}

C++: #include<iostream>
using namespace std;
void solver() {
    string str;
    cin>>str;
    reverse(str.begin(),str.end());
    cout<<str<<endl;
}

int main() {
    solver();
    return 0;
}

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

int main()
{
    std::string str;
    std::cin >> str;
    
    for(u_int i = 0; i < str.size(); ++i)
        std::cout << str.at(str.size() - i - 1);
    std::cout << std::endl;
    
    return 0;
}

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

using namespace std;

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

C++: #include<stdio.h>
int main(){
int i;
char str[21];
for(i=0;;i++){
str[i]=getchar();
if(str[i]=='\n')
	break;
}
for(;i>0;i--){
printf("%c",str[i-1]);
}
printf("\n");
return 0;
}

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

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

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

int main(){
	const int max = 20; 
	char str[max + 1];
	char c;
	int count = 0;
	while(cin.get(c)){
		str[count] = c;
		count++;
	}
	for(int i = 1; i <= count; i++)
		cout << str[count - i];
	cout << endl;
	return 0;
}

C++: #include <stdio.h>

int main(void){
	
	char a[21],b[21]={'0'};
	int s,t;
	
	scanf("%s",a);
	
	for(s=0;a[s]!='\0';s++){
	}
	
	for(t=0;a[t]!='\0';t++){
		
		b[s-t-1]=a[t];
		
	}
	
	printf("%s\n",b);
	
	return 0;
}