#U1718DS3. The Bovine Shuffle

The Bovine Shuffle

确信快乐的奶牛会产更多的牛奶,农夫约翰在他的谷仓里安装了一个巨大的迪斯科球,并计划教他的奶牛跳舞!查找流行的奶牛舞蹈,农夫约翰决定教他的奶牛“牛洗牌”。牛洗牌由他的 N 头奶牛 (1≤N≤100,000) 按某种顺序排成一排,然后执行连续的“洗牌”,每头奶牛都可能重新排序。为了让他的奶牛更容易找到自己,Farmer John 用位置 1…N 标记了他的奶牛行的位置,因此阵容中的第一头奶牛将在位置 1,下一个在位置 2,依此类推,直到位置 N。

一个洗牌用 N 个数字来描述,a1​​​aNa_1​​​…a_N​​​,其中位置 i 的奶牛移动到位置 aia_i​​​在洗牌期间(因此,每个aia_i范围为 1…N)。在洗牌过程中,每头奶牛都会移动到新的位置。不幸的是,所有的aia_i​​​不一定是不同的,因此多头奶牛可能会在洗牌期间尝试移动到同一位置,之后它们将一起移动以进行所有剩余的洗牌。

Farmer John 注意到,无论发生多少次洗牌,他的阵容中的某些位置都包含奶牛。请帮他数一数这样的位置的数量。

输入格式(文件 shuffle.in):

输入的第一行包含 N,即奶牛的数量。下一行包含 N 个整数 a1​​​aN​​​a_1​​​…a_N​​​.

输出格式(文件 shuffle.out):

无论发生多少次洗牌,请输出始终包含奶牛的位置数。

SAMPLE INPUT:

4
3 2 1 3

SAMPLE OUTPUT:

3