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 <iostream>
#include <string>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <algorithm>
#include <sstream>
#include <cmath>
#include <set>
#include <iomanip>
using namespace std;

#define REP(i,n) for(int (i)=0;(i)<(int)(n);(i)++)
#define REMOVE(Itr,n) (Itr).erase(remove((Itr).begin(),(Itr).end(),n),(Itr).end())
#define PB_VEC(Itr1,Itr2) (Itr1).insert((Itr1).end(),(Itr2).begin(),(Itr2).end())
#define UNIQUE(Itr) sort((Itr).begin(),(Itr).end()); (Itr).erase(unique((Itr).begin(),(Itr).end()),(Itr).end())
#define BOUND(Itr,val) lower_bound((Itr).begin(),(Itr).end(),(val))
typedef long long ll;

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 A; 

    while( cin >> A ) {

    for(int i=A.length()-1;i>=0;i--)
    cout << A[i];
    
    cout << "\n";
	}
    return 0; 
}

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


int main() {

	string str;
	char a[20];
	int size = 0;
	cin >> str;

	for (int i = 0;;i++) {
		if (str[i] == '\0')break;
		size++;
	}

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

	//system("pause");
	return 0;
}

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

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.pop_back();
    }
    for(int i = 0; i < size; ++i){
        std::cout << que.front();
        que.pop();
    }
    return 0;
}

C++: #include <iostream>
#include <string>
#include <algorithm>
#include <cstdio>
#include <vector>
#include <queue>
#include <set>
#include <numeric>
#include <cmath>

using namespace std;

typedef long long int lld;

const lld mod = 1e9+7;
const lld INF = 1e9;
//const lld MAXN = 1e9;

int main()
{
	string str;
	cin >> str;
	int n = str.size();

	for(int i = n-1; i >= 0; i--)
	{
		cout << str[i];
	}
	cout << endl;

	return 0;
}

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

using namespace std;

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

C++: #include<iostream>
#include<iomanip>
#include<cmath>
#include<string>
#include<vector>
#include<list>
#include<algorithm>
#include<map>
#include<set>
#include<queue>
#include<stack>
using namespace std;
typedef long long ll;
#define fi first
#define se second
#define mp make_pair
#define rep(i, n) for(int i=0;i<n;++i)
#define rrep(i, n) for(int i=n;i>=0;--i)
const int inf=1e9+7;
const ll mod=1e9+7;
const ll big=1e18;
const double PI=2*asin(1);

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

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

int main(){
	string str;

	cin >> str;

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

	return 0;
}

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

using namespace std;
int a;
char test[20];
char temp;

int main()
{
	scanf("%s",test);
	for(a=strlen(test)-1;a>=0;a--)
	{
	printf("%c",test[a]);
	}
	return 0; 
}

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

using namespace std;

int main()
{
	string str;
	cin >> str;
	
	for (string::reverse_iterator rit = str.rbegin(); rit != str.rend(); rit++) {
		cout << *rit;
	}
	cout << endl;
	
	return 0;
}

C++: #include<iostream>
#include<string>
#include<algorithm>
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 s[20];
    int n,T;
    while(cin>>s){
       n=strlen(s);
       
       for(int i=0;i<(n/2);i++){
          T=s[i];
          s[i]=s[n-i-1];
          s[n-i-1]=T;        
       }             
       cout<<s<<endl; 
    }
    return 0;
}

C++: #include <algorithm>
#include <bitset>
#include <cctype>
#include <cfloat>
#include <climits>
#include <cmath>
#include <complex>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <fstream>
#include <functional>
#include <iomanip>
#include <iostream>
#include <list>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <utility>
#include <vector>
#define FOR(x,a,b) for(int x=a;x<b;x++)
#define REP(x,b) for(int x=0;x<b;x++)
#define FORSIZE(x,A) for(int x=0;x<A.size();x++)
#define ITR(x,c) for(__typeof(c.begin()) x=c.begin();x!=c.end();x++)
#define SORT(x) sort(x.begin(),x.end())
#define RSORT(x) sort(x.rbegin(),x.rend())
#define rsort(x,n) sort(x, x+n, greater<int>())
#define REV(x) reverse(x.begin(),x.end())
using namespace std;
typedef long long ll;
inline int toInt(std::string s) {int v; std::istringstream sin(s);sin>>v;return v;}
template<class T> inline std::string toString(T x) {std::ostringstream sout;sout<<x;return sout.str();}

int main( int argc, const char* argv[] )
{
    string s;
    cin >> s;
    REV(s);
    FORSIZE(i, s) {
        cout << s[i];
    }
    cout << endl;
    return 0;
}

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

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

C++: #include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <vector>
#include <string>
#include <queue>
#include <algorithm>
#include <math.h>
#include <utility>
#include <set>
#include <map>
#define INF 100000
using namespace std;
typedef long long int ll;

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

C++: #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <time.h>
#include <math.h>
#include <vector>
#include <queue>
#include <map>
#include <set>
#include <algorithm>
#include <iterator>
#include <sstream>
#include <string>
#include <bitset>
using namespace std;
#define FOR(I,F,N) for(int I = F; I < (int)(N); I++)
#define rep(i, n) FOR(i, 0, n)
#define FIN(V) cout<<V<<endl
#define pb push_back
#define INF (1 << 30)
typedef pair<int, int> P;
typedef long long ll;
typedef priority_queue<int> pq;
int StrToInt(string);
string IntToStr(int);
int dx[4] = {1, -1, 0, 0};
int dy[4] = {0, 0, 1, -1};

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

	return 0;
}



int StrToInt(string s){
	stringstream ss;
	ss << s;
	int val;
	ss >> val;
	return val;
}
string IntToStr(int i){
	stringstream ss;
	ss << i;
	return ss.str();
}

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

using namespace std;

int main(){
    string a;
    cin>>a;
    reverse(a.begin(), a.end());
    cout<<a<<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 <algorithm>
using namespace std;
int main(){
    string s;cin>>s;
    reverse(s.begin(),s.end());
    cout << s << endl;
}