/*
LANG:C++
TASK:names
*/

#include <iostream>

using namespace std;

char a[150],*c,mn[150],st[150],cur[150],fin[150];
int n,i,ind[150],end,alen,t;
bool dont=0;
int main()
{
	while(gets(a))
	{
//		puts(a);
		alen=n=strlen(a);
		for(i=0;i<=n;i++)
			*(mn+i)=*(st+i)=*(cur+i)=*(fin+i)=0;
		mn[n-1]=a[n-1];
		ind[n-1]=n-1;
		for(i=n-2;i>=0;i--)
			if(a[i]<=mn[i+1])
			{
				mn[i]=a[i];
				ind[i]=i;
			}
			else
			{
				mn[i]=mn[i+1];
				ind[i]=ind[i+1];
			}
/*		for(i=0;i<n;i++)
			cout<<mn[i];
		cout<<"\n";
		for(i=0;i<n;i++)
			cout<<ind[i];
		cout<<"\n"; */
		i=0;
		if(!ind[0])
		{							//the first char is not to be moved
			c=a;
			while(ind[i]==i)
			{
				c++;
				i++;
			}
			if(i==n)
			{
				cout<<a<<"\n";
				continue;
			}
			end=i;
//			cout<<c<<"\n";
			for(i=0;i<end;i++)
//			{
//				cout<<a[i];
				st[i]=a[i];
//			}
//			cout<<"\n";
			n=strlen(c);
//			cout<<n<<"\n";
//			cout<<end<<"\n";
			for(i=0;i<n;i++)
				fin[i]=c[(ind[end]+i-end)%n];
			fin[n]=0;
//			cout<<fin<<"\n";
			t=ind[end]+1;
			while(t<alen)
			{
				dont=0;
				for(i=0;i<n;i++)
//				{
					cur[i]=c[(ind[t]+i-end)%n];
//					cout<<cur[i];
//				}
				cur[n]=0;
//				cout<<"\n";
				if(strcmp(cur,fin)<0)
					strcpy(fin,cur);			
				t=ind[t]+1;
				if(a[ind[t]]!=cur[0])
					break;
			}
			cout<<st<<fin<<"\n";
			continue;
		}									//the first char is not to be moved
		t=ind[0];
		end=t;
		while(end<n)
			if(a[end]<=a[0])
				end++;
			else
				break;
//		cout<<end<<"\n";
		for(i=t;i<end;i++)
			st[i-t]=a[i];
		for(i=0;i<t;i++)
			st[i+end-t]=a[i];
		for(i=end;i<alen;i++)
			st[i]=a[i];
//		st[i]=0;
		t++;
		while(t<n)
		{
			dont=0;
			t=ind[t];
			end=t;
			cout<<t<<"\n";
			while(end<n)
				if(a[end]<=a[0])
					end++;
				else
					break;
			cout<<end<<"\n";
			for(i=t;i<end;i++)
				cur[i-t]=a[i];
			for(i=0;i<t;i++)
				cur[i+end-t]=a[i];
			for(i=end;i<alen;i++)
				cur[i]=a[i];
			cout<<cur<<"\n";
			cout<<strcmp(st,cur)<<"\n";
			if(strcmp(cur,st)<0)
				strcpy(st,cur);
			t++;
			if(a[ind[t]]!=st[0])
				break;
		}
		cout<<st<<"\n";
	}
	return 0;
}
