编程题
### 问题描述
小齐有一台电脑,上面存储着她所有珍贵的文件,这些文件被组织在一系列的目录中。每个目录中可以包含文件和子目录。
从给定的目录,小齐可以使用“相对路径”引用任何文件。在相对路径中,符号 $..$ 表示父目录。
现在,小齐希望选择一个目录,使得到所有文件的相对路径长度之和最小。
### 输入格式
第一行包含一个整数 $N$,表示文件和目录的总数。为了输入的目的,每个对象(文件或目录)都被分配一个唯一的整数 $ID$,范围在1到$N$之间,其中 $ID$ $1$ 表示顶层目录。
接下来有 $N$ 行。每行以文件或目录的名称开头。名称只包含小写字母 $a-z$ 和数字 $0-9$,最长不超过 $16$ 个字符。接着是一个整数 $m$。如果 $m$ 是 $0$,则此实体是一个文件。如果 $m > 0$,则此实体是一个目录,它包含总共 $m$ 个文件或目录。接下来有 $m$ 个整数,表示此目录中实体的 $ID$。
### 输出格式
输出文件相对路径长度之和的最小可能值。注意,该值可能过大,无法放入 $32$ 位整数中。
### 样例输入
```
8
bessie 3 2 6 8
folder1 2 3 4
file1 0
folder2 1 5
file2 0
folder3 1 7
file3 0
file4 0
```
### 样例输出
```
42
```
### 评测数据规模
$2 \leq N \leq 100,000$。