1 //O(n) 2 char s[N],ss[N*2]; 3 int n=strlen(s+1); 4 for(int i=1;i<=n;i++) 5 ss[i+n]=s[i]; 6 int i=1,j=2,k; 7 while(i<=n && j<=n){ 8 for(k=0;k<n && s[i+k] == s[j+k]; k++); 9 if(k==n) break; 10 if(s[i+k]>s[j+K]) { . 11 I = I + K + . 1 ; 12 is IF (I == J) 13 is I ++ ; 14 } 15 the else { 16 J = J + K + . 1 ; . 17 IF (I == J) 18 is J ++ ; . 19 } 20 is } 21 is int ANS = min (I, J); 22 is // B [ANS] represents the minimum i.e.