#JX5019. 改数游戏

改数游戏

题目描述

给定 nn 个数 A=(A1,A2,,An)A=(A_1,A_2,\cdots,A_n)1Ain1\leq A_i\leq n),一共有 nn 轮游戏。

对于每一轮,先手先选定一个数 k(1kn)k(1\le k\le n),表示这一轮的操作次数,且保证每一轮的 kk 都不同。后手选定一个 1n1\sim n 之间的数写在黑板上。

对于每次操作,设黑板上现在的数是 xx,则将其替换成 axa_x

若第 ii 轮游戏后 ii 被写在黑板上,后手获胜,否则先手获胜。

问后手最多能赢多少轮(指 kk 无论是多少某一轮后手都有取得胜利的方法)。

输入格式

第一行为 n(1n2×105)n(1\le n\le 2\times 10^5)

第二行为 a1ana_1\sim a_n

输出格式

后手最多能赢多少轮。

3
2 2 3
2
2
2 1
2

提示

对于样例 11,先手第一轮 k=2k=2 时,后手必输。因为后手一开始无论写哪个数到黑板上,22 次操作后黑板上的数都不会是 11

后两轮无论 kk 等于几,后手都有必胜策略。

第二轮无论 kk 是多少,后手可以选择在黑板上写 11 或者 22,都能赢。

第三轮无论 kk 是多少,后手可以选择在黑板上写 33,都能赢。