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

int main() {
  std::string input;
  std::getline(std::cin, input);
  std::reverse(input.begin(), input.end());
  std::cout << input + '\n';
  return 0;
}

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

int main(){
  string s;
  cin >> s;
  int k;
  for(k=s.size();k>=0;k--){
    printf("%c",s[k]);
  }
  return 0;
}

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

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

    std::reverse(str.begin(), str.end());
    std::cout << str << std::endl;

    return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
  long long  a,b,c,A,B;
  while(cin>>a>>b){
    A=a;
    B=b;
    while(b!=0){
      c=a%b;
      a=b;
      b=c;
    }
    cout<<a<<' '<<A/a*B<<endl;
  }
  
}

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

C++: #include <stdio.h>

int len(char *c){
    int i = 0;
    while(*c!='\0'){
        i++;
        c++;
    }
    return i;
}

int main(){
    char s[21];
    char res[21];
    int i;
    scanf("%s",s);
    for(i=0;i<len(s);i++){
        res[i] = s[len(s)-i-1];
    }
    printf("%s\n",res);
    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>
using namespace std;
int main () {
    string mozi;
    cin >> mozi;
    int y;
    y = mozi.length();
    string reverse;
    for(int i=0;i<y;++i){
        reverse[i]=mozi[y-i];
    }
    cout << reverse << endl;
    return 0;
}

C++: #include <iostream>
#include <vector>
#include <math.h>
#include <string>

int main(void);
std::string rev_string(std::string str);


int main(){
	std::string str = "";
	//char str[20];
	std::cin >> str;
	std::cout << rev_string(str);

	//while (1);
	return 0;
}

//*
std::string rev_string(std::string str){
	int i;
	int len = str.length();
	for (i = 0; i < len / 2; i++) {
		char temp = str[i];
		str[i] = str[len - i - 1];
		str[len - i - 1] = temp;
	}

	return str;
}
//*/

C++: #include <iostream>
#include <string>
using namespace std;
int main() {
  string s;
  while(getline(cin, s)) {
    // reverse(s.begin(), s.end());
    cout << s << endl;
  }
  return 0;
}

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

using namespace std;

int main()
{
    string a;

    cin >> a;

    int PSa = a.length();

    for (int x = PSa-1; x >= 0; x--){
        cout <<a[x]<<endl;
    }

    return 0;
}

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

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

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

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

using namespace std;

int main(void) {
        char input;
        vector<char> str(5);

        while((input = getchar()) != '\n') {
                str.insert(str.begin(), input);
        }

        for (char output : str) {
                putchar(output);
        }
        puts("");

        return 0;
}

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

using namespace std;

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

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;

	return 0;
}

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

using namespace std;

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

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

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

using namespace std;



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

	i = str.size()-1;

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

}

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 <string>
#include <iostream>
using namespace std;


int main()
{
	int i;	
	string str;

	cin >> str;
	
	for( i = str.length()-1;i>=0; i--) {
		cout << str[i];
	}
	return 0;
}

C++: #include <iostream>
#include <iomanip>
#include <vector>
#include <string>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <map>
#include <algorithm>
#include <sstream>
#include <cstdlib>
#include <cstring>
#include <functional>
#include <numeric>
#include <cmath>
#include <climits>
#include <limits>
#include <cfloat>
#include <fstream>
using namespace std;

int main()
{
	string str = "";

	getline (cin, str );

	if (str.length() != 1){
		reverse (str.begin(), str.end() );
	} // end if

	cout << str << endl;	
		
	return 0;
}

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

int main(void){
	char str[20];

    cin >> str;

	int n = strlen(str);

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

	cout << str << endl;

	return 0;
}

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

#ifdef _MSC_VER
#define _CRT_SECURE_NO_WARNINGS
#define __typeof__ decltype
#endif

#define ITER(c) __typeof__((c).begin())
#define RITER(c) __typeof__((c).rbegin())
#define FOREACH(it, c) for (ITER(c) it=(c).begin(); it != (c).end(); ++it)
#define RFOREACH(it, c) for (RITER(c) it=(c).rbegin(); it != (c).rend(); ++it)

int main(){
    string s;
    while(cin >> s){
        RFOREACH(it, s){
            cout << *it;
        }
        cout << endl;
    }
    return 0;
}

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

using namespace std;

int main(){
  char c[25] = {0};
  scanf("%s", c);
  for(int i = 24; i >= 0; i--)
  {
    if(c)
      cout << c[i];
  }
  cout << endl;

  return 0;
}

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

int main(void){
	char c[21];
	scanf("%s", c);
	for(int i=strlen(c)-1; i>=0; --i){
		printf("%c", *(c+i));
	}
	puts("");
	return 0;
}

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

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

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

int main() {
   char r[20], temp;
   int i,j=0;
   gets(r);
   i = 0;
   j = strlen(r) - 1;

   while (i < j) {
      temp= r[i];
      r[i]=r[j];
      r[j]=temp;
      i++;
      j--;
   }
   printf("%s",r);
   return (0);
}

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

using namespace std;

int main() {

	char str[20];
	int i, len;

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

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

	return 0;

}