Задача G. Снеговики

Входной файл:input.txt   Ограничение времени:1 сек
Выходной файл:output.txt   Ограничение памяти:256 Мб
Максимальный балл:100  

Условие

На улице зима. N детей захотело поиграть в снеговиков. Каждый ребенок имеет свой номер 1 ≤ i ≤ N. Каждый ребенок выбирает одного из уже существующих снеговиков, строит такого же, и либо добавляет с своему какой-то снежный ком сверху, либо убирает один ком сверху, либо оставляет как есть. Каждый снеговик имеет свою высоту - это сумма радиусов всех комов, из которых он составлен. Вам нужно для каждого снеговика узнать его высоту.

Формат входного файла

В первой строке записано целое число N. В следующих N строках задано по 2 числа - p, x. p - номер уже существующего снеговика, которого выбирает ребенок, и x - как ребенок его изменяет. Будем считать, что снеговик с номером 0 - пустой, с нулевой высотой. Если x == −1 - он убирает верхний ком. x == 0 - он не изменяет снеговика. x > 0 - он кладет сверху на снеговика снежный ком радиуса x. Все запросы корректны (снеговик с номером p всегда будет существовать. Если ребенок попробует убрать верхний ком, но его нет, высота снеговика останется нулевой).

Формат выходного файла

Вывести N чисел - высоту каждого снеговика.

Ограничения

1 ≤ N ≤ 4*105, −1 ≤ x ≤ 109, 0 ≤ p ≤ i − 1

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
6
0 10
1 2
2 6
3 -1
2 -1
4 -1
10
12
18
12
10
10

0.099s 0.025s 15