/* 
TASK: names
LANG: C++
*/
#include<iostream>
#include<string>
using namespace std;
string A;
void solve()
{
    int i,j;
    string a,b,c,d,p;
    for(i=0;i<10000;i++)p.push_back('z');
    //2 parts
    for(i=1;i<A.length();i++)
    {
        a=A.substr(0,i);
        b=A.substr(i,A.length()-i);
        d=b+a;
        if(d<p)p=d;
    }
    //3 parts
    for(i=1;i<A.length();i++)
    {
        a=A.substr(0,i);
        for(j=i+1;j<A.length();j++)
        {
            b=A.substr(i,j-i);
            c=A.substr(j,A.length()-j);
            d=a+c+b;if(d<p)p=d;
            d=b+a+c;if(d<p)p=d;
            d=b+c+a;if(d<p)p=d;
            d=c+a+b;if(d<p)p=d;
        }
    }
    cout<<p<<'\n';
}
int main()
{
    string prev;
    while(!cin.eof())
    {
        cin>>A;
        if(A==prev)break;
        prev=A;
        solve();
    }
    return 0;
}
