#include<bits/stdc++.h>
#define ll long long int
#define mk make_pair
#define pb push_back
#define INF (ll)1e18
#define pii pair<ll,ll>
#define mod 998244353
#define f(i,a,b) for(ll i=a;i<b;i++)
#define fb(i,a,b) for(ll i=a;i>b;i--)
#define ff first
#define ss second
#define srt(v)  if(!v.empty())sort(v.begin(),v.end())
#define rev(v)  if(!v.empty())reverse(v.begin(),v.end())
#define PI 3.141592653589793238
#define pqr priority_queue<ll,vector<ll>,greater<ll>()>
using namespace std;
ll pow_mod(ll a,ll b)
{
	ll res=1;
	while(b!=0)
	{
		if(b&1)
		{
			res=(res*a)%mod;
		}
		a=(a*a)%mod;
		b/=2;
	}
	return res;
}

ll inv_mod(ll x){
    return pow_mod(x,mod-2);
}

const ll N=(ll)3e5;
ll inv[N];
ll fac[N];

void init(){
  fac[0]=1;
  
  for(ll i=1;i<N;i++)
  fac[i]=(i*fac[i-1])%mod;
  
  for(ll i=0;i<N;i++)
  inv[i]=inv_mod(fac[i]);
}

ll ncr(ll n,ll r){
    if(n<r)
    return 0;
    
    if(n==r||r==0)
    return 1LL;
    
    ll x=fac[n];
    ll y=inv[n-r];
    ll z=inv[r];
    
    return ((x*y)%mod*z)%mod;
}
ll n;

void solve(ll test_case)
{  
   string s;
   cin>>s;
   
   s.pb(s[0]);
   
   s.erase(0,1);
   
   cout<<s<<endl;
}
int main()
{  
   
   // init();   //factorial calculations
   
   //Start from Here.

  ll t;
  t=1;
  ll q;
//   cin>>t>>n>>q;
  for(ll i=1;i<=t;i++)
  solve(i);
//Good Bye!
    return 0;
}
#include <iostream>
#include <iomanip>
#include <string>
#include <vector>
#include <algorithm>
#include <utility>
#include <tuple>
#include <cstdint>
#include <cstdio>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <deque>
#include <unordered_map>
#include <unordered_set>
#include <bitset>
#include <cctype>
#include <cmath>
#include <valarray>
#include <cstdlib>
#include <array>
#include <random>
#include <stdio.h>
#include <stdlib.h>

using namespace std;
#define rep(i,a,n) for(int i=(a);i<(n);i++)
#define ll long long
#define sort(A) sort(A.begin(), A.end())
#define zisyo(v) next_permutation(begin(v),end(v))
#define check(i) cout<<"*"<<i<<endl
#define vec(a) vector<a>
#define vvec(a) vector<vector<a>>
#define keta(a) setprecision(a)
//最小公倍数はこれ→ (a*b / gcd(a,b))

//最大公約数
int gcd(int x, int y) {
    int m = min(x, y);
    for (int d = m; d > 0; d--) {
        if (x % d == 0 && y % d == 0) {
            return d;
        }
    }
}

//各桁の和
ll ketawa(ll n) {
    ll sum = 0;
    while (n > 0) {
        sum += n % 10; n /= 10;
    }
    return sum;
}

//回文判定
bool KIBN(string s) {
    rep(i, 0, s.size() / 2) {
        if (s[i] != s[s.size() - 1 - i])return false;
    }
    return true;
}

//素数判定
bool IsPrime(int num)
{
    if (num < 2) return false;
    else if (num == 2) return true;
    else if (num % 2 == 0) return false;

    double sqrtNum = sqrt(num);
    for (int i = 3; i <= sqrtNum; i += 2)
    {
        if (num % i == 0)
        {
            return false;
        }
    }
    return true;
}


int main(void) {
    char a, b, c;
    cin >> a >> b >> c;
    cout << b << c << a << endl;
    return 0;
}