Go: package main

import (
        "fmt"
)

func main () {
        var str string
        fmt.Scanf("%s", &str)
        show(len(str)-1, str)
}

func show(n int, str string) {
        if n == 0 {
                fmt.Printf("%s\n", string(str[n]))
        } else {
                fmt.Printf("%s", string(str[n]))
                show(n-1, str)
        }
}

C++: #include<bits/stdc++.h>
using namespace std;
#define mp make_pair
#define fi first
#define se second
#define ll long long
#define pb push_back

# define inOut(a,b) freopen(a,"r",stdin);freopen(b,"w",stdout);
# define RESET(a) memset(a,0,sizeof(a))
# define MEMO(a) memset(a,-1,sizeof(a))
# define DEBUG puts("Debug-Has-Come-Until-Here")


typedef pair<int,int> ii;
typedef vector<int> vi;
typedef vector<ii> vii;

int main(){
	cin.tie(NULL);
	
	char str[24];
	int i;
	scanf("%s",str);
	for (i=strlen(str)-1; i>=0; i--){
		printf("%c",str[i]);
	}
	printf("\n");

	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>
using namespace std;
int main(){
    string str,str2;
    cin >> str;
    int n = str.size();
    for(int i = 0;i < n;i++){
        str2.push_back(str[n-i-1]);
    }
    cout << str2 << endl;
    return 0;
}

C++: #include<iostream>
#include<cstring>
using namespace std;
int main(){
	char stra[21],strb[21];
	int a,c;
	cin>>stra;
	a = strlen(stra);
	for(int i=0;i<a;i++){
		c = a - i -1;
		strb[i]=stra[c];
	strb[i+1]='\0';
	}
	cout<<strb<<endl;	
}

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

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

int main() {
	std::string str;

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

	return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;
int main()
{
    int a,b,i,j;
    char ar[120];
    while(gets(ar))
    {
        a=strlen(ar);
        for(i=a-1;i>=0;i--)
        {
            printf("%c",ar[i]);
        }
        printf("\n");
    }
    return 0;
}

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

int main(void) {
    char str[20];
    int size;
    
    cin >> str;
    size = strlen(str);
    for(int i = 1; i <= size; ++i) {
        cout << str[size - i];
    }
    cout << endl;
}

C++: //"push hoge"と言われたらhogeを最後に入れ、"pop"と言われたら最後尾を取りだす。"quit"で終わり。
#include<iostream>
using namespace std;

int main(){
	char str[20];
	int hoge = 0;

	cin >> str;
	for(int i=0;i<20;i++){
		if(str[i] == '\0'){
			hoge = i;
			break;
		}
		hoge = i-1;
	}
	for(int i=hoge;i>=0;i--)
		cout << str[i];
	cout << endl;

	return 0;
}

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

int main()
{
    string A;
	char R;

	cin >> A;	
	for(int i=0; i<A.length()/2; i++){
		R = A[i];
		A[i] = A[A.length()-i-1];
		A[A.length()-i-1] = R;
	}
	cout << A << "\n";
	
    return 0;
}

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

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

C++: #include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main(){
char a[40];
int len,b;
cin.getline(a,40);
len = strlen(a);
for(int i=len;i>=0;i--){
cout<<a[i];
}
cout<<endl;
return 0;
}

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

using namespace std;

int main()
{
	char k[100];
	scanf("%s",k);
	reverse(k,k+strlen(k));
	printf("%s",k);
	return 0;
}

C++: #include<iostream>
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<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]);
}
return 0;
}

C++: #include<iostream>
#include<string.h>
int main()
{
	char str[21];
	std::cin >> str;
	const int length = strlen(str);
	for(int i = length - 1; i >= 0; i--)
	{
		std::cout << str[i];
	}
	std::cout << std::endl;
	return 0;
}

C++: #include <iostream>

using namespace std;

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

	int i = str.length() - 1;

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

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

int main() {
	char str[21]={0};
	char result[21]={0};
	int offset;
	cin >> str;
	for (int i=20; i>=0; i--)
	{
		if (str[i]!=0)
		{
			offset = i;
			break;
		}
	}
	for (int i=0; i<=offset; i++)
	{
		result[i] = str[offset-i];
	}
	cout << result;
}

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

int main()
{
	string str;
	getline(cin, str);
	string::reverse_iterator now = str.rbegin();
	while (now != str.rend()){
		cout << *now;
		now++;
	}
	cout << endl;
}

C++: //↓template↓

#include "bits/stdc++.h"
using namespace std;
#define Would
#define you
#define all(n)  n.begin(),n.end()
const long long INF = 1e18;
const long long MOD = 1e9 + 7;
const double pi = acos(-1);
const int SIZE = 1 << 17;
int dx[] = { 1,0,-1,0 }, dy[] = { 0,1,0,-1 }, alp[30];
long long fac[200005], finv[200005], inv[200005];
vector<long long>dij;
struct edge { long long to, cost; };
vector<vector<edge> >G;

long long mod_pow(long long a, long long b) {
	long long res = 1, mul = a;
	for (int i = 0; i < 31; ++i) {
		if (b >> i & 1) {
			res *= mul;
			res %= MOD;
		}
		mul = (mul * mul) % MOD;
	}

	return res;
}

void addedge(int from, int to, int cost) {
	G[from].push_back({ to,cost });
	G[to].push_back({ from,cost });
}

//↑template↑

int main() {
	string h;
	cin >> h;
	reverse(all(h));
	cout << h << endl;
}

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


int main()
{
	char a[20];
	cin >> a;
	for (int i = strlen(a)-1;i>0;i--){
		cout << a[i] << endl;
	}

    return 0;
}

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

int GCD(int a, int b){
    if(!b) return a;
    return GCD(b, a%b);
}
int LCM(int a, int b){
    return a/GCD(a, b)*b;
}

int main(){
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);

    std::string str;
    std::cin >> str;
    for(auto rit=str.rbegin(); rit!=str.rend(); ++rit){
        std::cout << *rit;
    }
    std::cout << "\n";
    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--){
        cout<<x[i];
    }
    cout<<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 <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 << endl;
}