#121. 团队首领

团队首领

说明

某 E 正在机房值班,小朋友吵得她头晕脑胀,她将N名吵闹的小朋友带出了机房,依次编号为1,2,⋯,N。

某 E 发现,这些小朋友形成了若干个小团伙,每个小朋友属于且只属于一个小团伙。她要求每一名小朋友指出自己所在小团伙的首领编号,第i名小朋友指认的首领编号为Si​。

假定所有小朋友都没有说谎,请问这N名小朋友中一共形成了多少个小团伙?

输入格式

输入共两行。

输入的第一行为一个正整数N。

输入的第二行为N个正整数,第i个为Si​。

输出格式

输出一行一个整数,代表机房里小团体的数目。

样例

5
1 1 3 4 1
3

提示

【数据范围】

对于 30%的测试数据,每个小团体有且只有一个人。

对于 100% 的测试数据,N≤10^6,1≤Si​≤N。数据保证有解且合法,即每个小朋友都真实地指认了 ta 所在团伙的首领。


【样例解释】

输入的第一行5,代表接下来有5个数,这5个数代表每个小朋友指认的自己所在团伙的首领编号,也就是说1 1 3 4 1的意思就是,第一个小朋友的首领是编号1,第二个小朋友的首领是编号1,第三个小朋友的首领是编号3……第5个小朋友的首领是编号1,所以首领的编号分别为1、3、4,一共有3个。