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 <sstream>
#include <string>
#include <cmath>
#include <cstdio>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <algorithm>
#include <functional>
#include <numeric>

using namespace std;
typedef unsigned int uint;
typedef long long ll;
typedef unsigned long long ull;

#define REP(i,n) for(int i = 0; i < (int)(n); ++i)
#define FOR(i,a,b) for(int i = (a); i < (int)(b); ++i)
#define ALL(c) (c).begin(), (c).end()
#define SIZE(v) ((int)v.size())

#define pb push_back
#define mp make_pair

int main(void)
{
    cin.sync_with_stdio(false);
    string str;
    while(cin >> str){
        reverse(ALL(str));
        cout << str << endl;
    }
    
    return 0;
}

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

C++: #include<iostream>
#include<string>
using namespace std;
 int main(){
	 string A ;
	 char R;
	 cin>>A;
	 cout<<A.length()<<endl;

	 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;

	 return 0;


}

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

int main(void) {
  char s[100] = {0};
  int i = 0;
  scanf("%s", s);
  i = strlen(s);
  while(i >= 0)
  putchar(s[i--]);
  
  putchar('?\n');
  return 0;
}

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

int main(void) {
  char s[100] = {0};
  int i = 0;
  gets(s);
  i = strlen(s);
  while(i >= 0)
  putchar(s[i--]);
  
  putchar('?\n');
  return 0;
}

C++: #include <iostream>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <algorithm>
#include <iomanip>
#include <cassert>
using namespace std;

#define GET_ARG(a,b,c,F,...) F
#define REP3(i,s,e) for (i = s; i <= e; i++)
#define REP2(i,n) REP3 (i,0,(int)(n)-1)
#define REP(...) GET_ARG (__VA_ARGS__,REP3,REP2) (__VA_ARGS__)
#define RREP3(i,s,e) for (i = s; i >= e; i--)
#define RREP2(i,n) RREP3 (i,(int)(n)-1,0)
#define RREP(...) GET_ARG (__VA_ARGS__,RREP3,RREP2) (__VA_ARGS__)
#define DEBUG(x) cerr << #x ": " << x << endl

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

C++: #include <iostream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <algorithm>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <cstring>
using namespace std;
typedef long long int ll;
const int INF = 1000000000;
#define rep(i,n) for(int i=0;i<(int)(n);i++)
int main(){
    string a;
    cin >> a;
    for(int i = a.length()- 1; i >= 0; --i){
        cout << a[i];
    }
    cout << endl;
    return 0;
}

C++: #include <bits/stdc++.h>

using namespace std;

typedef long long ll;

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

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

int main() {
char a[21];
scanf("%s",a);
int b=strlen(a);
for(int c=b-1;c!=-1;c--)printf("%c",a[c]);
printf("\n");
}

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

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

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

int main(){
	string a,b;
	cin >> a;
	b = a;
	for (int i = 0;i < a.length();i++){
		b[i] = a[a.length() - i - 1];
	}
	cout << b << endl;
}

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

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

int main() {
	char a[25];
	char b[25];
	int i = 0;
	cin >> a;
	int length = strlen(a);
	for(int t = 0;t<=length;t++)
		b[t]=a[length-t-1];
	b[length] = a[length];
	cout << b;
	cout << endl;

	return 0;
}

C++: #include <string.h>

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

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


int main() {

//変数の宣言

	string str;
	int i;

	cin >> str;

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

C++: #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cctype>
#include <cstring>
#include <sstream>
#include <string>
#include <vector>
#include <map>
#include <set>
#include <list>
#include <stack>
#include <queue>
#include <algorithm>
#include <complex>
#include <iterator>
using namespace std;

typedef pair<int, int> pii;
typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<string> vs;

#define all(c) (c).begin(), (c).end()
#define rall(c) (c).rbegin(), (c).rend()
#define tr(c, i) for(auto i = (c).begin(); i != (c).end(); i++)
#define rtr(c, i) for(auto i = (c).rbegin(); i != (c).rend(); i++)
#define repfn(i, a, cont, next) \
  for(auto i = (a); [=](){return(cont);}(); i = [=](){return(next);}())
#define repby(i, a, b, step) repfn(i, a, i < b, i + step)
#define repab(i, a, b) repby(i, (a), (b), 1)
#define rep(i, n) repab(i, 0, (n))
#define pb push_back
#define sz(c) int((c).size())

int rndup1000(int x) {
  int mod = x % 1000;
  if (mod)
    return x - mod + 1000;
  else
    return x;
}

int main(int argc, char **argv)
{
  int n;
  int debt = 100000;
  cin >> n;
  while (n--) {
    debt = rndup1000((debt/100)*105);
  }
  cout << debt << endl;
  return 0;
}

C++: #include <cstdio>
#include <cstring>
int main( void )
{
  int len;
  char s[128];
  gets( s );
  len = strlen( s );
  for( int i=len-1; i>=0; i-- ) putchar( s[i] );
  putchar( '\n' );
  return 0;
}

C++: #include<bits/stdc++.h>

using namespace std;
main(){
	char str[20];
	int len=0;
	int i;
	scanf("%s",str);

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

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

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

C++: #include <stdio.h>

int main()
{
	int i=0,j=0,k=0,l=0;
	char str[20+10],str2[20+10];
	scanf("%s",str);
	while(str[j] != '\0')
	{
		j++;
	}
	while(k<j)
	{
		str2[k] = str[j-k-1];
		k++;
	}
	str2[k]='\0';
	printf("%s\n",str2);

}

C++: #include <iostream>
#include <iomanip>
#include <vector>
#include <cmath>
#include <algorithm>
#include <string>
#define shosu(x) fixed<<setprecision(x)
using namespace std;
typedef pair<int,int> P;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int,P> pip;
const int inf=(1<<31)-1;

string str;

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

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

string s;

void rec(int a)
{
  if (a == -1){
    cout << '\n';
    return;
  }

  cout << s[a];
  rec(a - 1);
}

signed main(void)
{
  cin >> s;

  rec(s.size());
}

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

using namespace std;

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