#include<iostream>
#include<cstdio>
using namespace std;
int min_express(char * a,int len){
int i=0,j=1; //当前比较的位置
int t; //字典序比较结果
int k=0; //偏移数量
while(i<len && j<len && k<len){
t=a[(i+k)%len]-a[(j+k)%len];
if(t==0)k++;
else{
if(t>0){//从i开始字典序大
i=i+k+1;
}else{
j=j+k+1;
}
if(i==j)j++;
k=0;
}
}
return (i<j?i:j);//返回靠前的,因为字典序越大越靠后;
}
int main(){
char a[10000];
scanf("%s",&a);
int l=strlen(a);
int id=min_express(a,l);
for(int i=id;i<l;i++)
cout<<a[i];
for(int i=0;i<id;i++)
cout<<a[i];
cout<<endl;
return 0;
}