#2592. 产奶比赛

产奶比赛

题目描述

约翰的N(1\red{N(1≤}N\red{N≤}500)\red{500)}头奶牛打算组队去参加一个世界级的产奶比赛(MultistateMilkingMatchup\red{(Multistate Milking Match-up,}缩写为MMM)\red{MMM)}.她们很清楚其他队 的实力,也就是说,她们派出的队只要能产出至少X(1\red{X(1≤}X\red{X≤}1000000)\red{1000000)}加仑牛奶,就能赢得这场比赛. 每头牛都能为集体贡献一定量的牛奶,数值在10000\red{-10000}10000\red{10000}之间(有些奶牛总是想弄翻装着其他奶牛产的奶的瓶子).

MMM\red{MMM}的举办目的之一,是通过竞赛中的合作来增进家庭成员之间的默契.奶牛们认为她们总是能赢得这场比赛,但为了表示对比赛精神的支持,她们希望在选出的队伍里能有旧能多的牛来自同一个家庭,也就是说,有旧能多对的牛有直系血缘关系(当然,这支队伍必须能产出至少X\red{X}加仑牛奶).

当然了,所有的奶牛都是女性,所以队伍里所有直系血亲都是母女关系.约翰熟知所有奶牛之间的血缘关系.现在他想知道,如果在保证一支队伍能赢得比赛的情况下,队伍中最 多能存在多少对血缘关系.

注意,如果一支队伍由某头奶牛和她的母亲、她的外祖母组成,那这支队伍里一共有2\red{2}对血缘关系(这头奶牛外祖母与她的母亲,以及她与她的母亲).

输入格式

1\red{1}行:两个用空格隔开的整数N\red{N}X.\red{X.}

2\red{2}N+1\red{N+1}行:每行包括两个用空格隔开的整数,第一个数为一只奶牛能贡献出的牛奶的加仑数,第二个数表示她的母亲的编号.

如果她的母亲不在整个牛群里,那第二个数为0\red{0}.并且,血缘信息不会出现循环,也就是说一头奶牛不会是自己的母亲或祖母,或者更高代的祖先.

输出格式

输出在一个能获胜的队伍中,最多可能存在的有血缘关系的牛的对数.如果任何一支队伍都不可能获胜,输出1.\red{-1.}

样例

输入样例

5 8
-1 0  
3 1
5 1
-3 3
2 0

输出样例

2

提示

输入详细信息:

5\red{5}头牛。奶牛一号可以生产1\red{-1}加仑,并且有两个女儿,奶牛2\red{2}3\red{3,}他们分别可以生产3\red{3}加仑和5\red{5}加仑。奶牛3\red{3}有一个女儿(4\red{4}头牛),可以生产3\red{-3}加仑。然后是5\red{5}号奶牛,谁能生产2\red{2}加仑。

约翰一共有5\red{5}头奶牛.第1\red{1}头奶牛能提供1\red{-1}加仑的牛奶,且她是第2\red{2}、第3\red{3}头奶牛的母亲.第2\red{2}、第3\red{3}头奶牛的产奶量务别为3\red{3}加仑和5\red{5}加仑.第4\red{4}头奶牛是第3\red{3}头奶牛的女儿,她能提供3\red{-3}加仑牛奶.还有与其他牛都没有关系的第5\red{5}头奶牛,她的产奶量是2\red{2}加仑.

最好的一支队伍包括第1\red{1,}2\red{2,}3\red{3,}5\red{5}头奶牛.她们一共能产出1\red{(-1)}+3+5+2=9\red{+3+5+2=9≥}8\red{8}加仑牛奶,

并且这支队伍里有2\red{2}对牛有血缘关系(12\red{1-2}13\red{1-3}).如果只选第2\red{2,}3\red{3,}5\red{5}头奶牛,虽然总产奶量会更高(10\red{10}加仑), 但这支队伍里包含的血缘关系的对数比上一种组合少(队伍里没有血缘关系对).