Codeforces Beta Round 87 (Div. 2 Only)
C
Party
Codeforces
未评级
原题
← BD →
翻译中…

A company has $*n*$ employees numbered from $1$ to $*n*$. Each employee either has no immediate manager or exactly one immediate manager, who is another employee with a different number. An employee $*A*$ is said to be the superior of another employee $*B*$ if at least one of the following is true:

翻译中…
  • Employee $*A*$ is the immediate manager of employee $*B*$
  • Employee $*B*$ has an immediate manager employee $*C*$ such that employee $*A*$ is the superior of employee $*C*$.
翻译中…

The company will not have a managerial cycle. That is, there will not exist an employee who is the superior of his/her own immediate manager.

翻译中…

Today the company is going to arrange a party. This involves dividing all $*n*$ employees into several groups: every employee must belong to exactly one group. Furthermore, within any single group, there must not be two employees $*A*$ and $*B*$ such that $*A*$ is the superior of $*B*$.

翻译中…

What is the minimum number of groups that must be formed?

翻译中…

Input

翻译中…

The first line contains integer $*n*$ ($1 ≤ *n* ≤ 2000$) — the number of employees.

翻译中…

The next $*n*$ lines contain the integers $*p*_{*i*}$ ($1 ≤ *p*_{*i*} ≤ *n*$ or $*p*_{*i*} =$-1). Every $*p*_{*i*}$ denotes the immediate manager for the $*i*$-th employee. If $*p*_{*i*}$ is -1, that means that the $*i*$-th employee does not have an immediate manager.

翻译中…

It is guaranteed, that no employee will be the immediate manager of him/herself ($*p*_{*i*} ≠ *i*$). Also, there will be no managerial cycles.

翻译中…

Output

翻译中…

Print a single integer denoting the minimum number of groups that will be formed in the party.

翻译中…

Note

翻译中…

For the first example, three groups are sufficient, for example:

翻译中…
  • Employee 1
  • Employees 2 and 4
  • Employees 3 and 5
翻译中…

样例

Input #1
5
-1
1
2
1
-1
Output #1
3
InputCopy OutputCopy
题目信息
题号
116C
时间限制
3 s
内存限制
256 MB

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。