47. Разнообразие товаров

Не решаласьСложная

Выдача бывает полезной, бывает информативной, а бывает разнообразной.

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

Дана выборка товаров из разных категорий: productiproduct_{i}, categoryicategory_{i} - идентификатор продукта и его категория.

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

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

Формат ввода

В первой строке записано одно целое число nn (1n1000001 \le n \le 100\,000) - количество товаров в списке.

Далее в каждой из nn строк через пробел записано по два целых числа productiproduct_{i} и categoryicategory_{i} (0producti,categoryi2300 \le product_{i}, category_{i} \le 2^{30}) - id продукта и его категория.

Гарантируется, что все величины productiproduct_{i} различны.

Формат вывода

Выведите nn целых чисел productiproduct_{i} - некоторая перестановка величин.

Для результирующего порядка значение наименьшего расстояния между товарами одной категории должно быть максимальным возможным.

Если подходящих перестановок товаров несколько, выведите любую из них.

Ограничения

Ограничение времени

2 с

Ограничение памяти

256 МБ

Пример 1

Ввод
5
1 1
2 1
3 1
4 2
5 2
Вывод
1 4 2 5 3

Пример 2

Ввод
9
1 1
2 1
3 1
4 2
5 2
6 2
7 3
8 3
9 3
Вывод
1 4 7 2 5 8 3 6 9

Пример 3

Ввод
5
1 1
2 2
3 3
4 4
5 5
Вывод
1 2 3 4 5
Нужно войти, чтобы отправить решение.Войти