森精灵是个很长寿的种族,一个森精灵家族内部往往很多代人共同生活。
这一天族长要召开家族会议,他召集自己d代以内的直系子孙都来参加。之后每位子孙又会召集自己
d 代内的直系子孙召开家庭内部会议。现在已知家族中的成员关系,你能求出对于每位成员所召开的会议,分别有多少名成员需要参加吗?
为了方便统计,我们设家族成员编号为0~n-1,其中族长编号为 0。
第一行输入两个数 n,d,其中 n 表示族长与其直系子孙的总人数, d 表示 d 代以内的子孙需要参会;
第二行输入 n-1 个数,第 i个数 a[i] 表示编号为i 的成员的父辈是谁,以空格隔开;
输出共 n 行,每行一个数,表示第i-1 位成员(族长或其子孙)所召开的会议,需要参加的人数。
5 1 0 0 2 2
3 1 3 1 1
对于 30% 的数据, 2\leq n \leq 30,1 \leq d \leq n-1, 0\leq a[i] \leq n-1;
对于 100% 的数据, 2\leq n \leq 10^5,1 \leq d \leq n-1,0\leq a[i] \leq n-1;
样例中的家族关系如图所示, d=1 ,则族长(成员 0)的会议有 0,1,2 ,共 3 人参加;
成员 1,3,4的会议只有本人参加;
成员 2 的会议有 2,3,4,共 3 人参加。