Go: package main
import (
	"fmt"
	"os"
	"bufio"
)

var sc = bufio.NewScanner(os.Stdin)

func main(){
	sc.Scan()
	str := sc.Text()
	// rev_str := make([]string, len(str))
	defer fmt.Println()
	for _, v := range []rune(str){
		defer fmt.Print(string(v))
	}
}

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

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

C++: #define _USE_MATH_DEFINES
#include <iostream> 
#include <math.h>
#include <vector>
#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 <cstdio>
#include <cstring>

using namespace std;

int main()
{
	char str[22];

	fgets( str, sizeof( str ) - 1, stdin );

	for ( int i = strlen( str ) - 2; 0 <= i; i-- )
	{
		putchar( str[i] );
	}

	return 0;
}

C++: #include <stdio.h>
#include <string.h>
int main()
{
   char a[20];
   gets(a);
   strrev(a);
   printf("%s\n",a);

   return 0;
}

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

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

C++: #include<iostream>
using namespace std;
int main(){
  int i; int l  = 0;
	   char str[21]; char str1[21];
  cin >> str;
  for(i=0;str[i] != '\0';){i++;}
    for(int k = i-1;k >=0 ;l++, k--){
      cout << str[k];    
  }
  cout << endl;
}

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

int main(){ 
    string in,buf; 
    int f=0,b;

    cin >> in;
    b = in.size()-1;

    while(b-f >= 1){
        buf = in[f];
        in[f] = in[b];
        in[b] = buf[0]; 
        f++;    
        b--;    
    }

    cout << in << endl;
    return 0;
}

C++: #include<iostream>

using namespace std;

main(){
  
  char str[21];
  int i=0;
  while(cin >> str[i]){i++;}
  
  str[i]='\0';
  int j=i;
  for(j=i;j>=0;j--){
    
    cout << str[j] ; 
  }
  
  cout << endl;
  return 0;
}

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

using namespace std;

string reverse(string s)
{
	char *rev_c = new char[s.size()];
	for (int i = s.size() - 1; i >= 0; i--)
	{
		rev_c[s.size() - 1 - i] = s[i];
 	}
	string rev_s(rev_c, s.size());
	delete rev_c;
	return rev_s;
}

int main()
{
	string s;
	cin >> s;
	cout << reverse(s) << endl;
	return 0;
}

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

using namespace std;

int main() {

	int l;
	char t, str[64];

	cin >> str;
	l=strlen(str);

	for(int i=0; i<l/2; i++) {
		t=str[i];
		str[i]=str[l-i-1];
		str[l-i-1]=t;
	}

	cout << str;

}

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

C++: #include <bits/stdc++.h>
#include <iostream>
#include <string>
#include <stdio.h>
#include <math.h>
#define rep(i,n) for (int i = 0; i < (n); ++i)
using ll = long long;
typedef long double lb;
using namespace std;
int main(){
  string S;
  cin >> S;
  int SI = S.size();
  for(int i = SI - 1; i >= 0; i--){
    cout << S[i];
  }
  cout << endl;
  return 0;
}

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

C++: char s[22];
main(i){
  for(;~scanf("%c",s+i);i++);
  for(;i;putchar(--i?s[i]:10));
}

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

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

	for(int i = str.length()-1; i >= 0 ; --i)
		std::cout << str.at(i);

	std::cout << std::endl;


  return 0;
}

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

	return 0;
}

C++: #define _CRT_SECURE_NO_WARNINGS
#define _USE_MATH_DEFINES
#include <stdio.h>
#include <algorithm>
#include <functional>
#include <cstring>
#include <queue>
#include <stack>
#include <math.h>
#include <iterator>
#include <vector>
#include <string>
#include <set>
#include <math.h>
#include <iostream>
using namespace std;
int main() {
	string wow;
	cin >> wow;
	for (int i = wow.size() - 1;i >= 0;--i) {
		printf("%c", wow[i]);
	}
	printf("\n");
}

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

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

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

using namespace std;

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

C++: p gets.chomp.reverse

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

int main(){
    std::string str;
    std::queue<char> que;
    std::cin >> str;
    const int size = str.size();
    for(int i = 0; i < size; ++i){
        que.push(str.back());
        str.erase(str.size() - 1, 1);
    }
    for(int i = 0; i < size; ++i){
        if(i != size - 1){
            std::cout << que.front();
            que.pop();
        }else{
            std::cout << que.front() << std::endl;
        }
    }
    return 0;
}

C++: #include<functional>
#include<algorithm>
#include<iostream>
#include<utility>
#include<string>
#include<vector>
#include<cmath>
#include<stack>
#include<queue>
#include<deque>
#include<map>
#define rep(i,n) for(int i=0;i<n;i++)
#define loop(i,x,n) for(int i=x;i<n;i++)
#define pf push_front
#define pb push_back
#define int long long
using namespace std;
const int INF=1000000007;
int dx[4]={1,0,-1,0};
int dy[4]={0,1,0,-1};



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

C++: #include <iostream>

//文字列の文字数を返す関数
int str_length(char* str)
{
	int length;
	for (length = 0; length < 20; length++)  //文字列は最大20文字のため、length < 20
	{
		if (str[length] == '\0')  //ヌル記号→文字列の終端
		{
			break;
		}
	}
	return length;  //ヌル記号の配列番号＝文字列の文字数
}

//文字列を逆順に出力する関数
void reverce_output(char* str){
	int length = str_length(str);  //文字列の文字数を調べる
	int str_end = length - 1;  //文字数-1 = char型配列の、最後の文字の番号
	for (int i = 0; i < length; i++)
	{
		std::cout << str[str_end - i];  //文字列を逆順に出力
	}
	std::cout << '\n';
}

int main(){
	char input_char[20];  //入力される文字列の変数
	std::cin >> input_char;
	reverce_output(input_char); //文字列を逆順に出力
}

C++: #include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
#include <iomanip>
#include <utility>
#include <string>
typedef unsigned long ul;

using namespace std;

int main(){
	int len;
	string str;
	cin >> str;
	len = str.length();
	for(int i = len-1; i >= 0; i--){
		cout << str.at(i) << endl;
	}
}

C++: #include <stdio.h>
#include <string.h>
 
int main(void)
{
  char str[25] = {0};
  int cx;

  fgets(str, sizeof(str), stdin);
  cx = strlen(str);

  for (int x=cx-2; x>=0; x--) {
    putchar(str[x]);
  }
  puts("");
 
  return 0;
}

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

using namespace std;

int main(void) {
	string str;
	getline(cin, str);

	for (int i = 0; i < str.length() / 2; i++) {
		char c;
		c = str[i];
		str[i] = str[str.length() - 1 - i];
		str[str.length() - 1 - i] = c;
	}

	cout << str << endl;

	return 0;
}

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

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

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

using namespace std;


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

    return 0;
}

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

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