#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int gao(char *a,int len){
    int i=0,j=1,k=0;
    while(i<len && j<len && k<len){
        int cmp = a[(j+k)%len]-a[(i+k)%len];
        if(cmp==0)
            k++;
        else{
            if(cmp>0)
                j+=k+1;
            else
                i+=k+1;
            if(i==j)j++;
            k=0;
        }
    }
    return min(i,j);
}
int main(){
    char s[100];
    int len;
    while(scanf("%s",s)==1){
        len=strlen(s);
        printf("%d\n",gao(s,len));
    }
}



另外判断两个字符串是否同构,方法和上面是类似的,具体参见  周源的论文《浅析“最小表示法”思想在字符串循环同构问题中的应用》