Возвращение Злого Морти
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Злой Морти вернулся, но не по своей воле — попытки Рика C-137 найти Рика Прайма потревожили его спокойное существование за пределами Центральной Конечной Кривой, и заставили его вмешаться, чтобы поскорее избавиться от этой проблемы.

Вместе они смогли определить $$$n$$$ возможных местонахождений Рика Прайма, каждое из которых задается отрезком номеров возможных реальностей $$$[l_i, r_i]$$$, в которых имеет смысл его искать. Их следующая цель — автоматически проверить все эти возможности, но при этом

Определите, на какое минимальное число групп можно разбить все отрезки поиска так, чтобы в каждой группе никакие два отрезка не пересекались, и из каких отрезков поиска должна состоять каждая группа.

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

В первой строке дано целое число $$$n$$$ — количество отрезков поиска ($$$1 \le n \le 2 \cdot 10^5$$$).

В $$$i$$$-й из следующих $$$n$$$ строк через пробел даны два целых числа $$$l_i$$$ и $$$r_i$$$ — номер первой и последней реальности, входящих в $$$i$$$-й отрезок ($$$1 \le l_i, r_i \le 10^9$$$).

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

В первой строке выведите одно целое число $$$k$$$ — минимальное число групп в разбиении отрезков поиска. Затем выведите $$$2k$$$ строк, по две строки на каждую группу.

В первой строке, задающей группу, выведите количество отрезков поиска в ней. Во второй строке перечислите через пробел номера отрезков, входящих в эту группу.

Если есть несколько возможных вариантов ответа, выведите любой из них.

Примеры

Входные данные
3
1 5
2 3
4 7
Выходные данные
2
1
1 
2
2 3 
Входные данные
3
1 1
2 2
3 3
Выходные данные
1
3
1 2 3