Рассмотрим бесконечную клетчатую плоскость. Будем называть бесконечное множество квадратов размера $$$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$$$ запросов.
51 12 23 34 41 1
1 1 2 2 2