题目描述
飞行器上的电路由很多个能量节点组成,每个节点用一根单向导线指向一个别的节点。当某个节点能量沿着导线传递,回到这个节点的时候,飞行器就会被激活。请你编写程序求出,对于给定的电路,如果从任意节点开始传递能量,最少传递几次,能够回到原节点。
输入
第一行包含一个正整数n(n<=200000),表示有n个能量节点。
第二行包含n个用空格隔开的正整数,其中第i个整数x表示编号为i的节点会把能量传递给编号为x的节点,x <=n且x != i
输出
一个整数,表示最少传递的次数。
样例输入
5
2 4 2 3 1
样例输出
3