#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define maxn 102
int T,n;
int lesss(char *s,int p,int q)//进行字符串比较的起点p,q
{
for(int i=0;i<n;i++)
{
if(s[(p+i)%n]!=s[(q+i)%n])
{
return s[(p+i)%n]<s[(q+i)%n];
}
}
return 0;//相等
}
int main()
{
scanf("%d",&T);
while(T--)
{
char s[maxn];
scanf("%s",s);
int i,ans=0;
n=strlen(s);
for(i=0;i<n;i++)
if(lesss(s,i,ans)) ans=i;
//确定ans对应的字符串最小
i=0;
for(;i<n;i++)
putchar(s[(ans+i)%n]);
printf("\n");
}
return 0;
}
#include<cstdio>
#include<cstring>
using namespace std;
#define maxn 102
int T,n;
int lesss(char *s,int p,int q)//进行字符串比较的起点p,q
{
for(int i=0;i<n;i++)
{
if(s[(p+i)%n]!=s[(q+i)%n])
{
return s[(p+i)%n]<s[(q+i)%n];
}
}
return 0;//相等
}
int main()
{
scanf("%d",&T);
while(T--)
{
char s[maxn];
scanf("%s",s);
int i,ans=0;
n=strlen(s);
for(i=0;i<n;i++)
if(lesss(s,i,ans)) ans=i;
//确定ans对应的字符串最小
i=0;
for(;i<n;i++)
putchar(s[(ans+i)%n]);
printf("\n");
}
return 0;
}