#U1718DS3. The Bovine Shuffle
The Bovine Shuffle
确信快乐的奶牛会产更多的牛奶,农夫约翰在他的谷仓里安装了一个巨大的迪斯科球,并计划教他的奶牛跳舞!查找流行的奶牛舞蹈,农夫约翰决定教他的奶牛“牛洗牌”。牛洗牌由他的 N 头奶牛 (1≤N≤100,000) 按某种顺序排成一排,然后执行连续的“洗牌”,每头奶牛都可能重新排序。为了让他的奶牛更容易找到自己,Farmer John 用位置 1…N 标记了他的奶牛行的位置,因此阵容中的第一头奶牛将在位置 1,下一个在位置 2,依此类推,直到位置 N。
一个洗牌用 N 个数字来描述,,其中位置 i 的奶牛移动到位置 在洗牌期间(因此,每个范围为 1…N)。在洗牌过程中,每头奶牛都会移动到新的位置。不幸的是,所有的不一定是不同的,因此多头奶牛可能会在洗牌期间尝试移动到同一位置,之后它们将一起移动以进行所有剩余的洗牌。
Farmer John 注意到,无论发生多少次洗牌,他的阵容中的某些位置都包含奶牛。请帮他数一数这样的位置的数量。
输入格式(文件 shuffle.in):
输入的第一行包含 N,即奶牛的数量。下一行包含 N 个整数 .
输出格式(文件 shuffle.out):
无论发生多少次洗牌,请输出始终包含奶牛的位置数。
SAMPLE INPUT:
4
3 2 1 3
SAMPLE OUTPUT:
3