Busca Periódica

#72
Made by: Luiz H. B. Lago
1024MB
0.5s

Foi feita uma análise da evolução dos estados quânticos possíveis de um sistema de partículas, resultando numa árvore enraizada de N estados. Cada estado, com exceção do estado raiz, é conectado a seu estado pai por uma aresta que possui um rótulo de uma letra latina minúscula de a a z. Esse rótulo descreve o tipo de interferência que levou o sistema a ter um colapso para outro estado. A sequência de interferências de um estado é denida como a concatenação dos rótulos das arestas no caminho da raiz até esse estado.

Para cada estado, definímos a periodicidade mínima de sua sequência como o menor inteiro $P ≥ 1$ tal que a sequência pode ser obtida repetindo uma sequência menor de tamanho P múltiplas vezes (no mínimo duas vezes). Caso não exista nenhum inteiro $P ≥ 1$ válido, a sequência é considerada de periodicidade $0$. A sequência vazia da raiz é considerada de periodicidade $0$.

Estamos interessados em estudar interferências periódicas dentro do sistema de partículas, então sua tarefa é determinar, dentre todos os estados a partir da raiz, o maior valor de periodicidade mínima das suas respectivas sequências de interferências.

Input

A primeira linha contém um inteiro $N$ $(2 ≤ N ≤ 10^5 )$, o número de estados. A segunda linha contém $N − 1$ inteiros $P_1 , P_2 , ..., P_N −1$ $(1 ≤ Pi ≤ i)$, onde o estado $i + 1$ está conectado ao estado $P_i$ . A terceira linha contém uma sequência de $N − 1$ letras latinas minúsculas, onde o caractere $i$ representa o rótulo na aresta entre os estados $P_i$ e $i + 1$.

Output

Imprima um único inteiro representando o maior período mínimo entre todas as sequências formadas pelos caminhos da raiz até cada estado.


Input Example
Output Example
12
1 2 2 3 5 5 6 8 4 10 6
baaabaaabaa
3

Explanation 1:
Podemos verificar a periodicidade mínima em algumas sequências de estados da árvore: ˆ*Na sequência que termina no estado 2, formando a palavra b, a periodicidade mínima é 0 pois não é possível formar esta palavra com duas ou mais repetições. ˆ*Na sequência que termina no estado 11, formando a palavra baba, a periodicidade mínima é 2, pois é possível formar esta palavra repetindo duas vezes a palavra ba, que tem 2 caracteres. ˆ*Na sequência que termina no estado 9, formando a palavra baabaa, a periodicidade mínima é 3, pois é possível formar esta palavra repetindo duas vezes a palavra baa, que tem 3 caracteres