题目描述
现在是农夫约翰农场挤奶的时间,但是奶牛都跑掉了!农夫约翰需要把他们都召集起来,需要你的帮助。
FJ的农场是一系列N(1<=N<=200000)牧场,编号为1…N,通过N-1双向路径连接。谷仓位于牧场1,可以从谷仓到达任何牧场。
FJ的奶牛今天早上还在牧场上,但谁知道它们现在跑到哪里去了。FJ确实知道奶牛只会跑出谷仓,而且它们太懒了,跑不出超过1英里的距离。对于每一个牧场,FJ想知道有多少不同的牧场奶牛开始和结束都在。
注意:存储值需要64位整数。
输入格式:
第1行:2个整数,N和L(1<=N<=200000,1<=L<=10^18)
第2..N行:第i行包含两个整数p_i和l_i。p_i(1<=p_i<i)是牧场i和谷仓之间最短路径上的第一个牧场,l_i(1<=l_i<=10^12)是该路径的长度。
输出格式:
第1..N行:每行一个数字,第i行的数字是从牧场i可以到达的牧场的数量,通过远离谷仓(牧场1)的道路,其总长度不超过L。
输入样例#1:
4 5
1 4
2 3
1 5
输出样例#1:
3
2
1
1