Festa
Uma empresa possui funcionários numerados de a . Cada funcionário não tem gerente imediato ou tem exatamente um gerente imediato, que é outro funcionário com um número diferente. Diz-se que um funcionário é superior a outro funcionário se pelo menos uma das seguintes situações for verdadeira:
- O funcionário é o gerente imediato do funcionário .
- O funcionário tem um gerente imediato, funcionário , de modo que o funcionário seja superior ao funcionário .
A empresa não terá um ciclo gerencial. Ou seja, não haverá funcionário que seja superior ao seu gerente imediato.
Hoje a empresa vai organizar uma festa. Isso envolve dividir todos os funcionários em vários grupos: todo funcionário deve pertencer a exatamente um grupo. Além disso, dentro de um único grupo, não deve haver dois funcionários e , de modo que seja o superior de .
Qual é o número mínimo de grupos que devem ser formados?
Entrada
A primeira linha contém o número inteiro () - o número de funcionários.
As próximas linhas contêm os números inteiros ( ou ). Cada indica o gerente imediato do -ésimo funcionário. Se for -1, isso significa que o -ésimo funcionário não tem um gerente imediato.
É garantido que nenhum funcionário será o gerente imediato de si mesmo (). Além disso, não haverá ciclos gerenciais.
Saída
Imprima um único número inteiro indicando o número mínimo de grupos que serão formados na festa.
Exemplos
ENTRADA | SAÍDA |
5 -1 1 2 1 -1 |
3 |
Enviar solução: codeforces