Задача №114673. Древо жизни

Предствим, что судьба каждого человека предопределена: существует фиксированное корневое дерево из \(n\) вершин, которое называется древом жизни. Напомним, что деревом называется связный граф с \(n\) вершинами и \(n - 1\) ребром. В корневом дереве есть выделенная вершина, называющаяся корнем. Предком вершины \(i\) называется ближайшая к \(i\) вершина на пути от корня к \(i\).

Всего есть \(n\) возможных событий, счастье от наступления \(i\)-го события равно \(a_i\). Событие называется радостным, если \(a_i \ge 0\). Рассмотрим произвольную расстановку событий в древе жизни, где каждой вершине соответствует ровно одно событие, каждое событие соответствует какой-либо вершине. Справедивостью судьбы назвовем суммарное счастье событий, достижимых в дереве из корня, если разрешено перемещаться только по радостным событиям. Иначе говоря, таких событий, что существует путь из корня в вершину с этим событием, проходящий только по радостным событиям. Требуется просуммировать справедливость судьб по всем возможным способам расставить события в вершинах дерева. Две расстановки считаются различными, если существует вершина дерева, которой соответствуют события с разными номерами.

Так как ответ может быть очень большим, посчитайте его по модулю \(10^9 + 7\).

Входные данные

В первой строке входных данных содержится целое число \(n\) (\(2 \leq n \leq 200\,000\)) — количество вершин в дереве судьбы и количество событий.

В следующей строке содержится \(n-1\) целое число \(p_2,\ p_3,\ p_4,\ \ldots\ p_n\) (\(1 \leq p_i < i\)), где \(p_i\) — предок \(i\)-й вершины в дереве судьбы. Корнем дерева судьбы является вершина номер \(1\).

В следующей строке содержится \(n\) целых чисел \(a_i\) (\(|a_i| \leq 10^9\)) — счастье от наступления каждого события.

Выходные данные

Выведите единственное целое число — искомую сумму по модулю \(10^9 + 7\).

Система оценки

Тесты к этой задаче состоят из 7 групп. Баллы за каждую группу ставятся только при прохождении всех тестов группы и всех тестов необходимых групп.

Доп. ограничения
Группа Баллы \(n\) Необх. группы Комментарий
0 0 Тесты из условия.
1 15 \(n \le 10\) 0
2 10 \(n \le 20\) 0, 1
3 12 \(p_i = 1\)
4 16 \(n \le 200\) 0, 1, 2
5 13 \(n \leq 2000\) \(p_i = i - 1\)
6 15 5 \(p_i = i - 1\)
7 19 0–6
Примеры
Входные данные
3
1 1
1 2 -1
Выходные данные
12
Входные данные
4
1 2 1
2 0 3 1
Выходные данные
144
Входные данные
7
1 1 2 1 2 3
4 -1 2 0 -3 9 -1
Выходные данные
33480
Сдать: для сдачи задач необходимо войти в систему