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

int main(){
	std::string str;

	std::cin >> str;

	std::reverse_copy(str.begin(), str.end(),
		std::ostream_iterator<char>(std::cout,""));
  	std::cout << std::endl;
  	return 0;
}

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

main(void){
    char str1[20], str2[20], i, j = 0;
    
    gets(str1);
    
    for( i = 0; str1[i] != '\n'; i++){
        j++;
    }
    
    for( i = 0; i < j; i++){
        str2[j] = str1[i];
        j--;
    }
    
    printf("%s\n", str2);
    
    return 0;
}

C++: #include <iostream>

using namespace std;
int main(){
string str;
cin>>str;

for(int i=str.size();i--;){
    cout<<str[i];
}
cout<<endl;
}

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

signed main() {
	string a;
	cin >> a;
	for (int b = a.length() - 1; b != -1; b--)cout << a[b];
	cout << endl;
}

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

int main() {
	char str[21];
	scanf("%s",str);
	int length = strlen(str);
	for(int i=0;i<length/2;++i) {
		swap(str[i],str[(length-1)-i]);
	}
	puts(str);
	return 0;
}

C++: #include <iostream>


int main () {
  char str[21] = "";
  char *ans;
  int i = 19;
  while (std::cin >> str[i]) {
    i --;
  }
  ans = str;
  ans += i + 1;
  std::cout << ans << std::endl;

}

C++: #include<bits/stdc++.h>
#define rep(i,n) for(ll i=0;i<n;++i)
#define rrep(i,n) for(int i=n-1;i>=0;--i)
#define yesno(flg) if(flg){cout<<"YES"<<endl;}else{cout<<"NO"<<endl;}
#define MAX_N 1002
#define i197 1000000007
#define Vi vector<int>
#define Vl vector<long long>
#define pb(a) push_back(a)

using namespace std;

typedef long long ll;
typedef pair<ll,ll> P1;
typedef pair<int,int> Pi;
typedef pair<double,Pi> Pdi;
typedef pair<ll,int>Pli;
typedef pair<P1,ll> P2;
const ll INF=100000000001;
int dy[]={0, 0, 1, -1};
int dx[]={1, -1, 0, 0};
struct Road{double cost;int a,b;};
struct edge{int to,cost;};
struct pos{
	int x,y,cost;
};
ll gcd(ll a2,ll b2){
	int t;
	while(b2!=0){
		t=a2%b2;
		a2=b2;
		b2=t;
	}
	return a2;
}
ll lcm(ll a1,ll b1){
	if(a1*b1==0){return 0;}
	return (a1*b1/gcd(a1,b1));
}


int main() {

	string s;
	cin>>s;
	rrep(i,s.size()){
		cout<<s[i];
	}
	cout<<endl;

	return 0;
}

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

C++: #include <bits/stdc++.h>
using namespace std;
using ll = long long;
using P = pair<double, int>;

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

C++: #include<iostream>
#include<string.h>
#include<stdio.h>
#include<string>
using namespace std;
int c[53001],n,a,b;
int lowbit(int n1)
{
    return  (-n1)&n1;
}
int sum(int i)
{
	if(i==0) return 0;
    int s=0;
    while (i>0)
    {
        s+=c[i];
        i-=lowbit(i);
    }
    return s;
}
void  update (int pos ,int i )
{
    while (pos<=n)
    {
        c[pos]+=i;
        pos+=lowbit(pos);

    }
}
int main()
{
	int t;
	int a1,a2;string ch;
	scanf("%d",&t);
	a=t;
	while(a--)
	{
			printf("Case %d:\n",t-a);
		memset(c,0,sizeof(c));
		scanf("%d",&n);
		for(int i=1;i<=n;i++)
		{
			scanf("%d",&a1);
		update(i,a1);
		}
		
		while(cin>>ch&&ch!="End")
		{
			
			if(ch=="Add")
			{
				scanf("%d%d",&a1,&a2);

				update(a1,a2);
			}
			else if(ch=="Sub")
			{
					scanf("%d%d",&a1,&a2);
				update(a1,(-1)*a2);
			}
			else if(ch=="Query")
			{
              	scanf("%d%d",&a1,&a2);
              	printf("%d\n",sum(a2)-sum(a1-1));
			}
		}
	}
	return 0;
}

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

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

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

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

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

int main(void){

	char s[21];
	int i;

	gets(s);

	for(i=1; i<strlen(s)+1;i++){

		printf("%c",s[strlen(s)-i]);

	}
	//puts("");

	return 0;
}

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

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

    for (int i = 0; i < in.size(); i++) {
        std::cout << in.at(in.size() - 1 - i);
    }
    std::cout << std::endl;

    return 0;
}

C++: #include <iostream>
#include <cstring>
int main() {
	char s[20];
	std::cin >> s;
	for (int i = strlen(s)-1; i >= 0; i--)
		std::cout << s[i];
	std::cout << std::endl;
	return 0;
}

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

int main(){
  string s;

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

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

using namespace std;

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

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

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

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

int main()
{
	string str,str2="";
	cin >> str;

	for(int i = str.length() - 1; i >= 0; i--)
		str2 += str[i];
	str2 += NULL;
	cout << str2; 
	
	return 0;
}

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

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

int main(){
  char a[20];
  scanf("%s",a);
  for(int i =strlen(a)-1;i >=0;i--){
    putchar(a[i]);
  }
  return 0;
}

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

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

C++: //
//  main.cpp
//  CppTest
//
//  Created by Ryu on 2017/02/08.
//  Copyright ?? 2017??´ Ryu. All rights reserved.
//

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cmath>
using namespace std;

int main(int argc, const char * argv[]) {
    // insert code here...
    cin.tie(0);
    ios::sync_with_stdio(false);
    
    char x;
    char str[20];
    int n = 0;
    while (cin.get(x)) {
        str[n] = x;
        //printf("%c", str[n]);
        n++;
    }
    
    
    for(int i = 0; i < n; i++){
        printf("%c", str[n - i - 1]);
    }
    
    
    return 0;
}

C++: #include <iostream>
#include <vector>
#include <fstream>
#include <algorithm>
#include <iomanip>
#include <map>
#include <queue>
#include <stack>
#include <set>
#include <ctime>
#include <iterator>
#include <sstream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;

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

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

using namespace std;

void Reverse()
{
    string str;
    
    cin>>str;
    
    reverse(str.begin(), str.end()); //function is used for reversing sequence
    
    cout<<str<<endl;
   
    return;
}
    
  
int main()
{  
    Reverse();
    return 0;
}

C++: #include <iostream>

using namespace std;

int main()
{
    string str;

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