Пусть есть помеченное дерево, то есть вершины дерева пронумерованы от 1 до n.
Определим вес дерева так: сумма по всем ребрам (uv) величин u · szuv(u) + v · szvu(v). Здесь szvu(v) — это размер того поддерева, в котором окажется v после удаления ребра (vu).
Дан массив a размера n. Элементы массива либо являются целыми числами от 1 до n−1, либо равны −1. v-й элемент соответствует степени вершины v. Назовём дерево размера n хорошим, если для всех v таких, что av ≠ −1, верно, что степень вершины v равна av. Другими словами, если av = −1, то степень вершины v может быть любой, а иначе степень фиксирована и равна av.
Выберем одно хорошее дерево случайно и равновероятно. Пусть E — матожидание веса этого дерева. Найдите целую часть E.
Исходные данные
В первой строке записано одно число n — размер дерева (2 ≤ n ≤ 106).
Во второй строке записан массив длины n, все элементы которого являются либо числами от 1 до n−1 (степень фиксирована), либо равны −1 (степень может быть любой). Сумма модулей элементов массива не превосходит 2n−2.
Результат
Примеры
| исходные данные | результат | 
|---|
| 5
1 -1 -1 -1 -1
 | 67
 | 
| 5
-1 -1 -1 -1 1
 | 52
 | 
| 4
1 1 1 3
 | 42
 | 
| 4
1 1 2 2
 | 38
 | 
Автор задачи: Алексей Данилюк
Источник задачи: Петрозаводск лето 2018. t.me/umnik_team Contest