#arc086c. [arc086_c]Smuggling Marbles
[arc086_c]Smuggling Marbles
题目描述
Snuke有一棵包含个顶点的根树。顶点从到编号,顶点是树的根。顶点 的父节点是顶点。
除了这棵树,Snuke还有一个初始为空的盒子和很多个弹珠,并且在玩弹珠游戏。游戏开始时,在一些顶点上放置一个弹珠,然后按照以下步骤进行:
- 如果顶点上有一个弹珠,把弹珠移到盒子里。
- 把每个顶点上的弹珠都移动到它的父节点上(一次性移动)。
- 对于每个被两个或更多个弹珠占据的顶点,将所有弹珠从顶点上移走。
- 如果存在一个顶点上有一些弹珠,回到步骤1。否则,结束游戏。
有种方式在一些顶点上放置弹珠。对于其中的每一种方式,求出游戏结束时盒子中的弹珠数量,并计算所有这些数字的和对取模的结果。
约束条件
输入
输入从标准输入读取,格式如下:
输出
输出答案。
示例输入1
2
0 0
示例输出1
8
当我们在顶点和上放置一个弹珠时,根据步骤2,顶点上会有多个弹珠。在这种情况下,这些弹珠将被移走而不是移到盒子中。
示例输入2
5
0 1 1 0 4
示例输出2
96
示例输入3
31
0 1 0 2 4 0 4 1 6 4 3 9 7 3 7 2 15 6 12 10 12 16 5 3 20 1 25 20 23 24 23
示例输出3
730395550
请务必对和进行取模运算。