Na matemática, a -ésima raiz de um número é um número tal que , isto é, , onde é multiplicado 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 -ésima da string é uma string tal que , onde é a string concatenada vezes.
Por exemplo, se
= “abcabcabcabc”, para
a string
= “abcabc” é a raiz
-ésima
de
,
enquanto que para
,
a
-ésima
raiz é
= “abc”. Note que, para
,
qualquer string
é a raiz
-ésima
de si mesma.
Dada uma string , você deve encontrar o maior valor de tal que a raiz -ésima de existe. No exemplo dado, a resposta seria 4, uma vez que não existe a raiz -ésima de para .
A entrada consiste em vários casos de teste, cada um descrito em uma única linha.
Cada caso de teste contém uma string , não vazia, com, no máximo, 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.
Para cada caso de teste imprima uma única linha, com o maior inteiro tal que existe uma string tal que, quando concatenada consigo mesma vezes, resulta em .
abcabcabcabc
abcdefgh012
aaaaaaaaaa
*
4
1
10