Задачи
Длина объединения
Длина объединения
Рассмотрим множество отрезков на прямой с целыми концами. Изначально множество пустое, в него могут добавляться отрезки, из него могут удалятся отрезки. После каждой операции вставки или удаления отрезка необходимо вывести общую длину объединения всех отрезков, лежащих на данный момент в множестве.
\InputFile
В первой строке входа записано целое число \textbf{1} ≤ \textbf{n} ≤ \textbf{100 000} - общее количество проделанных операций. Далее идут \textbf{n} строк, каждая из них устроена следующим образом. Первый символ - "\textbf{+}", если это операция вставки отрезка и "\textbf{-}", если это операция удаления отрезка. Далее в строке записаны через пробел два целых числа - левый и правый концы отрезка. Координаты концов по модулю не превосходят \textbf{1 000 000 000}. Гарантируется, что удаляться будут только отрезки, которые перед этим были добавлены в множество. Одинаковые отрезки можно добавлять в множество. Каждый из них считается отдельным отрезком.
\OutputFile
В выход необходимо вывести ровно \textbf{n} чисел, по одному в строке - общую длину объединения всех отрезков в множестве после каждой из \textbf{n} операций добавления или удаления.
Входные данные #1
4 + 1 3 + 2 6 + 5 7 - 2 6
Выходные данные #1
2 5 6 4