Go: package main

import (
	"bufio"
	"fmt"
	"os"
)

var scanner = bufio.NewScanner(os.Stdin)

func nextString() string {
	scanner.Scan()
	return scanner.Text()
}

func main() {
	scanner.Split(bufio.ScanWords)

	str := nextString()
	for i := len(str) - 1; i >= 0; i-- {
		fmt.Print(str[i:(i + 1)])
	}
	fmt.Print("\n")
}

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;
}

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

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

C++: #include <stdio.h>

int main(){
    char c;
    char s[21]={'\0'};
    int i = 0,j;
    c = getchar();
    while(c != '\n'){
        for(j=i;j>=0;j--){
            s[j+1] = s[j];
        }
        i++;
        s[0] = c;
        c = getchar();
    }
    printf("%s\n",s);
}

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>-1;i--){
		printf("%c",str[i]);
	}
	printf("\n");
	return 0;
}

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

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

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

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

int main(void) {
	string name;
	cin >> name;
	int L = name.size();
	string Ans;
	for (int i = 0; i < L; i++) {
		Ans += name.substr(L-i-1, 1);
	}
	cout << Ans << endl;
	return 0;
}

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

using namespace std;

void myReverse(string str);

int main()
{
	string str;
	cin >> str;
	
	myReverse( str );
	
	return 0;
}

void myReverse(string str)
{
	vector<char> v_r_str( str.size() );
	
	int i = 0;
	for(auto it = v_r_str.rbegin(); it != v_r_str.rend(); it++)
	{
		*it = str[i];
		i++;
	}
	
	for(auto it = v_r_str.begin(); it != v_r_str.end(); it++)
		cout << *it;
	cout << endl;
}

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

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

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

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

    for (int i=str.length();i>=0;--i)
    {
        std::cout << str[i];
    }
    std::cout << std::endl;
}

C++: #include <stdio.h>

int main(){

	char str[20] = {},i;
	
	scanf("%s", str);
	
	for (i = 0; i < 20; i++){
		if (str[19 - i] >0){ printf("%c", str[19-i]); }
	}

	return 0;
}