现在给出一棵树,树的结点名字表示项目的名称和版本号,用逗号分隔,例如结点名字为a,1表示项目的名称为a,版本号为1。
每个结点的名字都是唯一的。但树里可以出现项目名称相同,但版本号不同的结点。对于某个名称的项目来说,真正有效的版本号是距离根节点最近的是这个项目名称的结点里的版本号。如果多个相同项目名称,不同版本的结点距离根节点的距离相同,则生效版本为在输入中先出现的结点的版本。
此外,输入中给出的依赖关系可能存在循环依赖的例外情况,例如a,1依赖b,1,b,1又依赖a,1,这种情况就不是一颗有效的树。