Raízes de strings

Na matemática, a NN-ésima raiz de um número MM é um número KK tal que KN=MK^N = M, isto é, KKKK=mKKK\ldots K = m, onde KK é multiplicado NN vezes.

Podemos transpor este conceito para strings. Em notação de strings, a justaposição significa concatenação, ao invés de multiplicação. Deste modo, a raiz NN-ésima da string SS é uma string TT tal que TN=ST^N = S, onde TN=TTTTT^N = TTT\ldots T é a string TT concatenada NN vezes.

Por exemplo, se SS = “abcabcabcabc”, para N=2N = 2 a string TT = “abcabc” é a raiz NN-ésima de SS, enquanto que para N=4N = 4, a NN-ésima raiz é TT = “abc”. Note que, para N=1N = 1, qualquer string SS é a raiz NN-ésima de si mesma.

Dada uma string SS, você deve encontrar o maior valor de NN tal que a raiz NN-ésima de SS existe. No exemplo dado, a resposta seria 4, uma vez que não existe a raiz NN-ésima de SS para N>4N > 4.

Entrada

A entrada consiste em vários casos de teste, cada um descrito em uma única linha.

Cada caso de teste contém uma string SS, não vazia, com, no máximo, 10510^5 caracteres dentre dígitos decimais e caracteres alfabéticos minúsculos.

A última linha da encontra contém um único asterisco (“*”), o qual não deve ser processado como um caso de teste.

Saída

Para cada caso de teste imprima uma única linha, com o maior inteiro NN tal que existe uma string TT tal que, quando concatenada consigo mesma NN vezes, resulta em SS.

Exemplo de Entrada 1

abcabcabcabc
abcdefgh012
aaaaaaaaaa
*

Exemplo de Saída 1

4
1
10