I. Квадратики
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Рассмотрим бесконечную клетчатую плоскость. Будем называть бесконечное множество квадратов размера $$$2 \times 2$$$ покрытием, если каждая клетка плоскости покрыта ровно одним квадратом и они покрывают все клетки плоскости.

Назовем множество квадратов хорошим, если его можно дополнить до покрытия.

У вас есть изначально пустое множество квадратов $$$S$$$. Далее идут $$$n$$$ запросов добавления и удаления квадратов $$$(x_i, y_i)$$$, где пара чисел $$$(x_i, y_i)$$$ описывает квадрат, который покрывает клетки $$$(x_i, y_i)$$$, $$$(x_i + 1, y_i)$$$, $$$(x_i, y_i+1)$$$ и $$$(x_i+1, y_i+1)$$$.

После каждого запроса вам требуется вывести единственное число — размер наибольшего хорошего подмножества множества $$$S$$$.

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

В первой строке располагается единственное число $$$n$$$ ($$$1 \le n \le 200\,000$$$) — количество запросов.

Следующие $$$n$$$ строк содержат по два целых числа $$$x_i$$$, $$$y_i$$$ ($$$1 \le x_i, y_i \le 10^9$$$). Если на момент $$$i$$$-го запроса в $$$S$$$ содержался квадрат, задаваемый парой $$$(x_i, y_i)$$$, то он удаляется из множества, иначе — добавляется.

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

Выведите $$$n$$$ строк, в $$$i$$$-й строке выведите размер наибольшего хорошего подмножества $$$S$$$ после исполнения первых $$$i$$$ запросов.

Пример
Входные данные
5
1 1
2 2
3 3
4 4
1 1
Выходные данные
1
1
2
2
2