戏志才
题号:NC291823
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}此生既得在世之良主,何惜烛风之残躯。
\hspace{15pt}济伊尹之云帆,效管仲之御力,成明公之霸业。
\hspace{15pt}卫道护主,隆君威于天下,赤诚苍天可鉴。
\hspace{15pt}有生之年图万世之疆,幸哉。
\hspace{15pt}戏志才是三国杀游戏的一个武将,他有一个特殊的技能「先辅」:
\hspace{23pt}\bullet\,锁定技,游戏开始时,你选择一名其他角色作为「先辅角色」,当「先辅角色」受到伤害后,你受到等量的伤害。

\hspace{15pt}yzc 在三国杀创造了一个克隆模式,在这个克隆模式中有 n 个戏志才,每个戏志才有 100^{100} 点体力。在游戏开始时,第 i 戏志才会选择第 a_i 戏志才作为自己的「先辅角色」。
\hspace{15pt}游戏开始后,yzc 会选择第 x 戏志才,并对其造成 1 点伤害。
\hspace{15pt}yzc 想知道,在游戏进行过程中,是否会有一个戏志才的体力值降低到 0

输入描述:

\hspace{15pt}第一行输入两个正整数 n,x \left(2 \leq n \leq 10^5;\ 1 \leq x \leq n\right) 代表戏志才的数量、受到 1 点伤害的戏志才编号。 
\hspace{15pt}第二行输入 n 个正整数 a_1,a_2,\ldots,a_n \left(1 \leq a_i \leq n;\ a_i \neq i\right),其中 a_i 代表第 i 个戏志才选择的「先辅角色」的编号。

输出描述:

\hspace{15pt}如果在游戏进行过程中,会有戏志才的体力值降低到 0,输出 \rm Yes,否则输出 \rm No
示例1

输入

复制
7 1
7 1 7 7 2 1 5

输出

复制
Yes

说明

\hspace{15pt}在这个样例中,有一个伤害传导 1\rightarrow2\rightarrow5\rightarrow7\rightarrow1 不断循环,所以最后一定会有一个戏志才的体力值降为 0
示例2

输入

复制
7 6
7 1 7 7 2 1 5

输出

复制
No

说明

\hspace{15pt}在这个样例中,6 号戏志才受到 1 点伤害后,体力值降为 100^{100} - 1,但是,由于他没有被选中成为「先辅角色」,所以其他角色不会受到伤害。至此,全部戏志才的体力值都不再变动。