Byteotian Intelligence Agency (BIA) 雇佣了许多间谍。他们每个人都有义务监视另外恰好一名间谍。
Byteasar 国王想要委派尽可能多的特工执行一项绝密任务。然而,这项任务非常重要,以至于每一名参与任务的间谍都必须被至少一名未参与任务的特工监视(BIA 间谍的监视分配关系保持不变)。
请编写一个程序:
- 从标准输入读取每名间谍监视对象的描述;
- 计算最多能有多少名间谍被委派执行任务,使得他们中的每一名都被至少一名未参与任务的特工监视;
- 将结果写入标准输出。
输入格式
输入的第一行包含一个正整数 $n$,表示间谍的数量,$2 \le n \le 1\,000\,000$。间谍编号从 $1$ 到 $n$。接下来的 $n$ 行描述了每名间谍监视的对象。每一行包含一个正整数。第 $k+1$ 行的数字 $a_k$ 表示编号为 $k$ 的间谍监视编号为 $a_k$ 的间谍,$1 \le k \le n$,$1 \le a_k \le n$,$a_k \ne k$。
输出格式
你的程序应在输出的第一行写入一个整数,表示可以被委派执行绝密任务的间谍的最大数量。
样例
输入 1
6 2 3 1 3 6 5
输出 1
3