卡拉传递

时间限制: 1000 ms 内存限制: 65536 kb
总通过人数: 0 总提交人数: 0

题目描述

激活亚顿之矛还需要高阶圣堂武士举行一个叫做“卡拉传递”的仪式。

有n个高阶圣堂武士(编号为1到n)正在进行一个信息传递的仪式。在仪式里每位圣堂武士都有一个固定的信息传递对象,其中,编号为i的圣堂武士的信息传递对象是编号为Ti圣堂武士。

游戏开始时,每位圣堂武士都只知道自己的生日。之后每一轮中,所有圣堂武士会同时通过卡拉将自己当前所知的生日信息告诉各自的信息传递对象(注意:可能有圣堂武士可以从若干圣堂武士那里获取信息,但是每位圣堂武士只会把信息告诉一个圣堂武士,即自己的信息传递对象)。当有圣堂武士从别的圣堂武士口中得知自己的生日时,仪式结束。请问该仪式一共可以进行几轮?

输入

输入共2行。 第1行包含1个正整数n表示n个圣堂武士。

第2行包含n个用空格隔开的正整数T1,T2,……,Tn其中第i个整数Ti示编号为i的圣堂武士的信息传递对象是编号为Ti的圣堂武士,Ti≤n且Ti≠i

数据保证仪式一定会结束。

对于 30%的数据, n ≤ 200;

对于 60%的数据, n ≤ 2500;

对于 100%的数据, n ≤ 200000。

输出

输出共 1 行,包含 1 个整数,表示仪式一共可以进行多少轮。

输入样例

5
2 4 2 3 1

输出样例

3

相关推荐