#agc004d. [agc004_d]Teleporter

[agc004_d]Teleporter

問題文

高橋王国には NN 個の町があります。 町は 11 から NN まで番号が振られています。 町 11 は首都です。

それぞれの町にはテレポーターが 11 台ずつ設置されています。 町 ii (1iN1≤i≤N) のテレポーターの転送先は町 aia_i (1aiN1≤a_i≤N) です。 どの町から出発しても、テレポーターを何回か使うことで首都へ辿り着けることが保証されます。

高橋王は正の整数 KK が好きです。 わがままな高橋王は、いくつかのテレポーターの転送先を変え、次の条件が成り立つようにしたいと思っています。

  • どの町から出発しても、テレポーターをちょうど KK 回使うと、最終的に首都にいる。

条件が成り立つようにするためには、最少でいくつのテレポーターの転送先を変えればよいかを求めてください。

制約

  • 2N1052≤N≤10^5
  • 1aiN1≤a_i≤N
  • どの町から出発しても、テレポーターを何回か使うことで首都へ辿り着ける。
  • 1K1091≤K≤10^9

入力

入力は以下の形式で標準入力から与えられる。

NN KK a1a_1 a2a_2 ...... aNa_N

出力

条件が成り立つようにするためには、最少でいくつのテレポーターの転送先を変えればよいかを出力せよ。


入力例 1

3 1
2 3 1

出力例 1

2

テレポーターの転送先を a=(111)a = (1,1,1) と変えればよいです。


入力例 2

4 2
1 1 2 2

出力例 2

0

最初から条件が成り立っているので、テレポーターの転送先を変える必要はありません。


入力例 3

8 2
4 1 2 3 1 2 3 4

出力例 3

3

例えば、テレポーターの転送先を a=(11211224)a = (1,1,2,1,1,2,2,4) と変えればよいです。