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<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<ctime>
#include<cctype>
#include<climits>
#include<iostream>
#include<string>
#include<vector>
#include<map>
#include<list>
#include<queue>
#include<deque>
#include<algorithm>
#include<numeric>
#include<utility>
#include<complex>
#include<memory>
#include<functional>

#define REP(i, n) for(int i = 0;i < n;i++)
#define REPR(i, n) for(int i = n;i >= 0;i--)
#define FOR(i, m, n) for(int i = m;i < n;i++)
#define FORR(i, m, n) for(int i = m;i >= n;i--)
#define SORT(v, n) sort(v, v+n);
#define VSORT(v) sort(v.begin(), v.end());
#define llong long long
#define pb(a) push_back(a)
#define INF 999999999
using namespace std;

typedef vector<int> vi;
typedef vector<long long> vl;
typedef vector<double> vd;
typedef pair<int, int> pii;
typedef pair<long, long> pll;
typedef long long ll;

int dy[] = { 0, 0, 1, -1, 0 };
int dx[] = { 1, -1, 0, 0, 0 };

int main(){
	ios::sync_with_stdio(false);

	string str, str_r;

	cin >> str;
	reverse(begin(str), end(str));

	cout << str << endl;
		
}

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

using namespace std;


int main(){
	char mozi[20];
	int last;
	scanf("%s",mozi);

	for(int i=0;mozi[i] != '\0';i++){
		last = i;
	}

	for(int i=last;0 <= i;i--){
		printf("%c",mozi[i]);
	}

	printf("\n");

	return 0;
}

C++: #include <string.h>
#include <iostream>
#include <iomanip>
#include <list>
#include <map>
#include <algorithm>
#include <stack>

using namespace std;


int main(){
	char str[20];
	int j = 0;
	memset(str,'\0',sizeof(str));
	while(cin >> str){	
		for(int i = sizeof(str) / sizeof(char) - 1; i >= 0; i--){
			if(str[i] != '\0'){
				cout << str[i];
			}
		}
		cout << endl;
	}

	return 0;
}

C++: #include <iostream>
#include <cstdio>
#include <algorithm>
#include <cassert>
#include <vector>
#include <string>
#include <cmath>
#include <map> 
#include <sstream>
#include <cstdio>
#include <complex>
#include <cstring>
using namespace std;
 
const int MAX= 10000100;

#define loop(i,a,b) for(int i = a ; i < b ; i ++)
#define rep(i,a) loop(i,0,a)
#define all(a) (a).begin(),(a).end()
#define ll long long int
#define gcd(a,b) __gcd(a,b)
#define pb(a) push_back(a)
int GCD(int a, int b) {if(!b) return a; return gcd(b, a%b);}
int lcm(int a, int b) {return a*b / gcd(a, b);}

int main(void){
  string s;
  cin>>s;
  for(int i = s.size() - 1 ; i >= 0 ; i --)
    cout<<s[i];
  cout<<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 <cstdio>
#include <vector>
#include <algorithm>
#include <string>

using namespace std;

int main (int argc, char * const argv[]) {
    // insert code here...
    string str;
	cin >> str;
	reverse(str.begin(), str.end());
	cout<<str<<endl;
	
	return 0;
}

C++: #include<iostream>
#include<cstring>
using namespace std;
	
int main()
{
	int u;
	char str[19];
	cin>>str[19];
	int j=strlen(str);
	for(int i=j;i>=0;i--){
	cout<<"str[i]";
	}
        cout<<'\n';
	return 0;
}

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

C++: #include <stdio.h>

int main() {
    const int MAX = 20;
    char input[MAX];
    for (int i = 0; i < MAX; ++i) {
        input[i] = 0;
    }
    char result[MAX];
    for (int i = 0; i < MAX + 1; ++i) {
        result[i] = 0;
    }

    scanf("%s", &input);
    int counts = 0;
    {
        int offset = 0;
        while (input[offset] != 0) {
            counts++;
            offset++;
        }
    }

    for (int i = 0; i < counts; ++i) {
        result[counts - i - 1] = input[i];
    }

    printf(result);
    printf("\n");
    return 0;
}

C++: #include<iostream>
#include<string.h>
using namespace std;
int main()
{
    string a;int b,c;
    getline(cin,a);
    c=a.length();
    for(b=c-1;b>=0;b--)
    {
        cout<<a[b];
    }


    return 0;
}

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

int main(){
char x[30];
int i=0;
scanf("%s\n",&x);
while(x[i]!='\0')i++;
for(int j=i-1;j>-1;j++)cout<<x[i];}

C++: #include<iostream>
#include<string>
 
int main(){
    std::string s,t;
    std::cin >> s;
    while( ! s.empty() ) {
        t += s[ s.size() - 1 ];
        s.erase( s.size() - 1 );
    }
    std::cout << t << std::endl;
    return 0;
}

C++: #include<iostream>
using namespace std;
#include<stdio.h>
#include<string.h>
int main()
{

    char str[20];
    int i,l;
	gets(str);

 for(i=0;str[i]!='\0';i++)
    {
        if(str[i]==' ')
        i++;
      l=i;

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

    return 0;
}

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

int main(){
	std::string str;
	std::cin >> str; // input
	
	std::reverse(str.begin(), str.end()); //use reverse function
	std::cout << str << std::endl; // output
	return 0;
}

C++: #include <iostream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <deque>
#include <list>
#include <string>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <algorithm>

using namespace std;

string str, rstr;

int main() {
	cin >> str;

	rstr = "";

	int len = str.size();
	for (int i = 0; i < len; i++) {
		rstr += str[len - i - 1];
	}

	cout << rstr << endl;

	return 0;
}

/*@@@@@@@@@@@@@@@@@@@@@@@@@*/
/*@                       @*/
/*@ debug output erased ? @*/
/*@                       @*/
/*@@@@@@@@@@@@@@@@@@@@@@@@@*/

C++: #include<stdio.h>
#include<string.h>
int main(){
	int l;
	char s[32],r[32];
	scanf("%s",s);
	l=strlen(s);
	for(int i=0;i<l;i++){
		r[l-i-1]=s[i];
	}
	for(int i=0;i<l;i++){
		printf("%c",r[i]);
	}
	printf("\n");
	return 0;
}

C++: #include<iostream>
#include<cstring>
using namespace std;
int main(){
  char c[20];
  while(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(){
    char str[21];
  
    scanf( "%s",str );
  
    int strL = strlen( str );
  
    for( int i = strL+1;i >= 0;i-- ){
        printf( "%c",str[ strlen( str ) - i ] );        
    }
    return 0;
}

C++: #include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#define ll long long
using namespace std;
int main()
{
    //int k,i,j,tep,x,a[170],m;
    char a[22];
    gets(a);
     int l=strlen(a);
     while(l--)
        cout<<a[l];
    cout<<endl;
return 0;
}

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

char str[20];

int main()
{
	cin>>str;
	for(int i=19;i>=0;i--)
	{
		if(str[i] != NULL)
		cout<<str[i];
	}
	cout<<endl;

	return 0;
}

C++: #include <iostream>
#include <string>
#include <map>
#include <vector>
#include <set>
#include <iomanip>
#include <fstream>
#include <stdint.h>
#include <cmath>
#include <algorithm>
#include <utility>
#include <numeric>
using namespace std;

constexpr int INF       = 1000000000;/* 1e+9a */
constexpr int MODULO    = 1000000007;

#define REP(i,f,n) for(int i=(f); i < (n); ++i)
#define PER(i,f,n) for(int i=(n-1); i >= f; --i)

//----------------------------------
//----------------------------------

signed main()
{
    ios::sync_with_stdio(false);
	string s;
	cin >> s;
	PER(i, 0, s.size())
		cout << s[i];
}