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

C++: #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <cctype>
#include<algorithm>
#define pf printf
#define sf scanf
#define wh while
#define db double
#define LL long long
#define _USE_MATH_DEFINES
#define re(i,a,b) for(int i=a;i<b;i++)
#define rev(i,a,b) for(int i=a;i>=b;i--)

using namespace std;

int main()
{
    char s[50];
    cin>>s;
    int l=strlen(s);
    rev(i,l-1,0)pf("%c",s[i]);
    pf("\n");
    return 0;
}

C++: #include <iostream>

using namespace std;

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

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

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

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

C++: #include <string>
#include <iostream>
#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 <string>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    string str;
    getline(cin, str);
    for(int i=str.length()-1; i>=0; --i) {
        cout.put(str[i]);
    }
    cout.put('\n');
    return 0;
}