AT_abc228_b [ABC228B] Takahashi's Secret
Description
[problemUrl]: https://atcoder.jp/contests/abc228/tasks/abc228_b
高橋君には $ N $ 人の友達がいます。$ N $ 人の友達はそれぞれ、友達 $ 1 $ 、友達 $ 2 $ 、$ \ldots $ 、友達 $ N $ というあだ名で呼ばれています。
ある日、高橋君はある恥ずかしい秘密を、友達の一人である友達 $ X $ に知られてしまいました。
$ i\ =\ 1,\ 2,\ \ldots,\ N $ について、友達 $ i $ が高橋君の秘密を知ったとき、友達 $ A_i $ がまだ高橋君の秘密を知らなければ、友達 $ i $ は高橋君の秘密を友達 $ A_i $ にも教えてしまいます。
高橋君の秘密は最終的に何人の友達に知られることになるでしょうか?
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ X $ $ A_1 $ $ A_2 $ $ \cdots $ $ A_N $
Output Format
答えを出力せよ。
Explanation/Hint
### 制約
- $ 2\ \leq\ N\ \leq\ 10^5 $
- $ 1\ \leq\ X\ \leq\ N $
- $ 1\ \leq\ A_i\ \leq\ N $
- $ A_i\ \neq\ i $
- 入力はすべて整数
### Sample Explanation 1
高橋君の秘密は以下の流れで友達 $ 1 $ 、友達 $ 2 $ 、友達 $ 3 $ の $ 3 $ 人に知れ渡ります。 - ある日、高橋君は秘密を友達 $ 2 $ に知られてしまいました。 - 秘密を知った友達 $ 2 $ は、その秘密を友達 $ 1 $ に教えます。 - 秘密を知った友達 $ 1 $ は、その秘密を友達 $ 3 $ に教えます。 高橋君の秘密は最終的に $ 3 $ 人の友達に知られることになるため、$ 3 $ を出力します。