牛牛的聚会
题号:NC21879
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

牛牛有n个朋友,标号为0到n-1,每一个朋友最多有一个不喜欢的人,记为a[i],如果第i个人喜欢每一个人,a[i]=i

现在牛牛需要邀请每一个人来参加一个聚会,但是他发现不同的邀请顺序会导致不同的结果,因为一旦某个人发现他不喜欢的人已经被邀请了
他就不会来参加聚会,请问最多可以邀请多少个人来参加聚会

输入描述:

第一行输入一个整数n ()

第二行输入n个整数 a_i,

输出描述:

输出一个整数
示例1

输入

复制
2
0 1

输出

复制
2
示例2

输入

复制
2
1 0

输出

复制
1
示例3

输入

复制
4
1 0 3 2

输出

复制
2
示例4

输入

复制
6
5 2 2 4 5 0

输出

复制
5

备注:

子任务1:n <= 10
子任务2:n <= 20
子任务3:无限制