Type: Default 1000ms 256MiB

火车

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

Hobson 先生从管理马厩的工作中退休后,投资于一种更加现代的交通方式:火车。

他已经修建了一个包含 nn 个火车站的铁路网。然而,他兑现了让乘客摆脱选择困难症的承诺:对于每个站点,乘客只能乘坐火车前往一个站点,别无其它选择。

这样的一段旅程被称作一趟。要注意这是单向的旅程,可能无法再回到出发点。

Hobson 同样也只提供一种车票,允许乘客一次旅行的距离不超过 kk 趟。在每个站点的出口会有一个自动读票机(只有一个,所以乘客就不用纠结于要用哪个)。机器会检查从始发站到到达站的距离是否不超过 kk 趟。

每个读票机必须编入一个合法始发站列表,但是列表消耗的存储空间越多,机器就越贵。

请帮助 Hobson 先生确定:对于每个站点 AA,能够在最多 kk 趟的旅程中到达 AA 的站点个数(包含 AA 本身)。

上图为样例输入 1 对应的示意图。每个圆圈代表了一个站点,圆圈旁边的数字为当 k=2k=2 时需要编入读票机的站点编号。

输入格式

第一行包含两个整数 n,kn, knn 为站点个数,kk 为一张票允许旅行的最多趟数。
接下来 nn 行,第 ii 行包含一个整数 did_i,表示第 ii 个站点经过一趟到达的站点。

输出格式

输出 nn 行,第 ii 行输出能在 kk 趟内到达站点 ii 的站点数目。

6 2
2
3
4
5
4
3
1
2
4
5
3
1
5 3
2
3
1
5
4

3
3
3
2
2

说明/提示

对于全部数据,满足 2n5×105,1kn12\le n\le 5 \times 10^5,1\le k\le n - 1,对于任意 1in1 \le i \le n 都满足 1din1 \le d_i \le ndiid_i\ne i