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 <stdio.h>
#include <iostream>
#include <iomanip>
#include <string> 
#include <vector> 
using namespace std;

int main(){
	string str;
	int size,h;
	cin >> str;
	size = str.size();
	string mozi[size],ans = "";;
	for(int i = 0;size > i;i++){mozi[i] = str.substr(i,1);}
	for(int i = 1;size >= i;i++){ans.append(mozi[size - i]);}
	cout << ans << endl;


}

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

#define MAX 256

int main(void){

	char k[21];
	int c = 0;

	scanf("%s", &k);

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

	for (int i = c; i >= 0; i--){
		printf("%c", k[i]);
	}
	printf("\n");
	
	return 0;
}

C++: #include<iostream>
#include<cstring>
using namespace std;
int main(){
  char str[21];
  cin >> str;
  int a = strlen(str);
  for(int i =a;i>=0;i--){
    cout << str[i];
  }
  cout << endl;
}

C++: #include <iostream>

using namespace std;

int main()
{
	char str[20];
	cin >> str;
	int len = strlen(str);
	for (int i = len; i >0; i--)
	{
		cout << str[i-1];
	}
	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 <stdio.h>
int main(void){
    char s[21],*p;
    while(~scanf("%s",s)){
        for(p=s;*p++;);
        for(p--;s<=p;p--)putchar(*p);
        puts("");
    }
    return 0;
}

C++: #include<iostream>
#include<string>
#include<vector>
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>
#include <map>
#include <vector>
#include <set>
#include <iomanip>
#include <fstream>
#include <cstdint>
#include <cmath>
#include <algorithm>
#include <utility>
#include <numeric>
using namespace std;

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

#define int long

#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)

constexpr int evx[4] = { 1, 0, -1, 0 };
constexpr int evy[4] = { 0, 1, 0, -1 };

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

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

C++: #include<iostream>

using namespace std;

char str[20];

int main()
{
	cin>>str;
	for(int i=0;i<20;++i)
	{
		if(str[19-i]!=0)
			printf("%c",str[19-i]);
	}

}

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

using namespace std;

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

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

int main(){
	char str[25];
	
	fill(str, str + 25, 0);
	
	scanf("%s", str);
	
	int p = 25;
	while(str[--p] == 0);
	while(p >= 0){
		printf("%c", str[p--]);
	}
	
	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<iostream>
#include <cstdio>
#include <algorithm>
#include <string>

using namespace std;

int main() {

	char str[20];
	int i, len;

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

	for (i = len - 1; i >= 0; i--)
		cout << str[i];

	putchar('\n');

	return 0;

}

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

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

using namespace std;

int main(){
	string str1, str2;
	char tmp;
	int i, length;

	getline(cin, str1);
	length = str1.size();
	//cout << length << endl;
	str2.reserve(length+1);
	for(i=0;i<length;i++){
		tmp = str1.at(length - i - 1);
		//cout << tmp << endl;
		str2 += tmp;
	}
	str2 += '\0';
	cout << str2 << endl;
	//getline(cin, str1);
	return 0;
}

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

C++: #include <stdio.h>
#include <string.h>
int main()
{
    char s[1000],ans[1000];
    int len;
    while(~scanf("%s",s))
    {
        len = strlen(s);
        for(int i = 0;i < len;i++) ans[i] = s[len-i-1];
        ans[len] = '\0';
        puts(ans);
    }
    return 0;
}

C++: #include<stdio.h>
#include <string.h>
int main(){
	int i;
	char str[20];
	scanf(" %[^\n]", str);
	
	for(i = strlen(str) - 1; i>=0; --i){
		printf("%c", str[i]);
	}
	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>
using namespace std;

int main()
{
  string s;

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

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

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

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

bool in(char num){
  return (num >= '0' && '9' >= num);
}

int main(void){
  string str;
  while(cin>>str){
    int res = 0,num=0;
    char opp = 0;
    for(int i = 0 ; i < str.size() ; i ++){
      if(in(str[i])){
	num = num * 10 + str[i] - '0';
	if(num >= 10000){
	  cout<<'E';
	  break;
	}
      }else{
	if(opp == 0){
	  res = num;
	}else if(opp == '+'){
	  res += num;
	}else if(opp == '-'){
	  res -= num;
	}else if(opp == '*'){
	  res *= num;
	}
	num = 0;
	if(res<0 || 10000<=res){
	  cout<<'E'<<endl;
	}
	opp = str[i];
	  
      }	
      if(opp=='='){
	cout<<res;
	break;					
      } 
    }
    cout<<endl;   
  }
}