Go: package main

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

var sc = bufio.NewScanner(os.Stdin)

func main() {
	sc.Scan()
	s := sc.Text()
	l := len(s)
	r := make([]rune, l)
	for i, c := range s {
		r[l-i-1] = c
	}
	fmt.Println(string(r))
}

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

#define times(n, i) uptil(0, n, i)
#define upto(f, t, i) for(auto _##i = (t), i = decltype(_##i)(f) poi i <= _##i poi i++)
#define uptil(f, t, i) for(auto _##i = (t), i = decltype(_##i)(f) poi i < _##i poi i++)
#define downto(f, t, i) for(auto i = (f), _##i = decltype(i)(t) poi i >= _##i poi i--)
#define downtil(f, t, i) for(auto i = (f), _##i = decltype(i)(t) poi i > _##i poi i--)

#define unless(c) if(!(c))
#define until(c) while(!(c))
#define loop while(true)

#define poi ;
#define poipoi << "\n"

using namespace std;

template<class T> T lov_yet(T t){
    if(t) return t poi
    else return 0 poi
}

template<class T> T gcd(T a, T b){
    if(b) return gcd(b, a % b) poi
    else return a poi
}

int main(){
    string pyon poi
    cin >> pyon poi
    reverse(pyon.begin(), pyon.end()) poi
    cout << pyon poipoi poi
    return 0 poi
}

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

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

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

int main(){
char str[20];
for(int i=0;i<20;i++){cin>>str[i];}
for(int i=19;i>-1;i--){cout<<str[i];}
}

C++: #include<stdio.h>
#include<string.h>
 main()
 {
    char s[21], tmp;
    int i, sl;
   while(scanf("%s",s)==1)

    {
    sl=strlen(s);
    for(i=0;i<sl/2;i++)
 {
    tmp=s[i];
    s[i]=s[sl-i-1];
    s[sl-i-1]=tmp;
    }
    printf("%s\n", s);
    }
return 0;
 }

C++: #include<stdio.h>
#include<string.h>
int main()
{

    char str,rev,arr[100];
    printf("Enter a string to reverse\n");
    gets(arr);
    strrev(arr);
    printf("%s",arr);
    return 0;

}

C++: #include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
#include <set>
#include <map>
#include <string>
#include <stack>
#include <queue>
#include <cmath>
#include <cstdio>
#include <istream>
#include <sstream>
#include <iomanip>
#include <iterator>
#include <climits>
using namespace std;

typedef ostringstream OSS;
typedef istringstream ISS;

typedef vector<int> VI;
typedef vector< VI > VVI;

typedef long long LL;

typedef pair<int, int> PII;
typedef vector<PII> VPII;

#define X first
#define Y second

int main(void) {
	string s;
	cin >> s;

	string r = string(s.rbegin(), s.rend());
	
	cout << r  << 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;
}

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

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

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

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

int main(int argc, char *argv[]) {
	char rcv[20];
	char out[20];
	fscanf(stdin, "%s", rcv);
	int cnt = 0;
	for (int i = 0; i < 20; i++) {
		if (rcv[i] == '\0') {
			for (int j = i-1; j !=-1; j--) {
				out[cnt] = rcv[j];
				cnt++;
			}
			out[cnt] = '\0';
			break;
		}
	}
	printf("%s\n", out);
	
	return 0;
}

C++: #define _USE_MATH_DEFINES

#include <iostream>
#include <string>
#include <iomanip>
#include <cmath>
#include <algorithm>
#include <utility>
#include <vector>
#include <numeric>

using namespace std;

int main()
{
	string s;
	cin >> s;

	reverse(s.begin(), s.end());
	cout << s << endl;
}

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

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

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

using namespace std;

int main()
{
    string a;

    cin >> a;

    int PSa = a.length();

    for (int x = PSa-1; x >= 0; x--){
        cout <<a[x];
    }
    cout<<endl;

    return 0;
}

C++: #include <iostream>
#include <stdio.h>
#include <math.h>
#define ll unsigned long long int
using namespace std;

int main(){
	string s;
	cin >> s;
	cout << "-------" << endl;
	for (int i = s.length() - 1; i >= 0; i--){
		cout << "i : " << i << "\t";
		cout << s.at(i);
	}

	cout << endl;
	return 0;
}

C++: #include <cstdio>
#include <cmath>
#include <cstring>
#include <cstdlib>
#include <climits>
#include <ctime>
#include <queue>
#include <stack>
#include <algorithm>
#include <list>
#include <vector>
#include <set>
#include <map>
#include <iostream>
#include <deque>
#include <complex>
#include <string>
#include <iomanip>
#include <sstream>
#include <bitset>
#include <valarray>
#include <iterator>
using namespace std;
typedef long long int ll;
typedef unsigned int uint;
typedef unsigned char uchar;
typedef unsigned long long ull;
typedef pair<int, int> pii;
typedef vector<int> vi;

#define REP(i,x) for(int i=0;i<(int)(x);i++)
#define FOR(i,c) for(__typeof((c).begin())i=(c).begin();i!=(c).end();i++)
#define RREP(i,x) for(int i=((int)(x)-1);i>=0;i--)
#define RFOR(i,c) for(__typeof((c).rbegin())i=(c).rbegin();i!=(c).rend();i++)
#define ALL(container) container.begin(), container.end()
#define RALL(container) container.rbegin(), container.rend()
#define SZ(container) ((int)container.size())
#define mp(a,b) make_pair(a, b)
#define UNIQUE(v) v.erase( unique(v.begin(), v.end()), v.end() );

template<class T> bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T> bool chmin(T &a, const T &b) { if (a>b) { a=b; return 1; } return 0; }
template<class T> ostream& operator<<(ostream &os, const vector<T> &t) {
os<<"["; FOR(it,t) {if(it!=t.begin()) os<<","; os<<*it;} os<<"]"; return os;
}
template<class T> ostream& operator<<(ostream &os, const set<T> &t) {
os<<"{"; FOR(it,t) {if(it!=t.begin()) os<<","; os<<*it;} os<<"}"; return os;
}
template<class S, class T> ostream& operator<<(ostream &os, const pair<S,T> &t) { return os<<"("<<t.first<<","<<t.second<<")";}

const int INF = 1<<28;
const double EPS = 1e-8;
const int MOD = 1000000007;


int n, m;
string str;
main(){
	cin >> str;
	reverse(ALL(str));
	cout << str << endl;
	return 0;
}

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

C++: #include<iostream>

using namespace std;

int main(void) {
	int i;
	char a[20];
	
	cin >> a;
	
	for(i=0; a[i] != 0; i++);
	for(i-=1; i>=0; i--) {
		cout << a[i];
	}
	cout << endl;
	
	return 0;
}

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

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

using namespace std;



int main(){
	char a[21];
	char b[21];
	cin>>a;
	int pos=0;
	for(int i=0;i<21;i++){
		if(a[i]=='\0')
			break;
		pos++;
	}
	int pos2=pos;
	b[pos]='\0';
	pos--;
	for(int n=0;n<pos2;n++){
		b[n]=a[pos];
		//cout << a[pos];
		pos--;
	}
	cout<<b<<"\n";
	return 0;
}

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

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

C++: #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
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<iostream>
#include<string>
using namespace std;
int main(){
	string a;
	cin >> a;
	for(int i=a.length()-1; i>-1; i--){
		cout << a[i];
	}
	return 0;
}