Козак Вус та лексикографія#10358

Козак Вус та лексикографія

1 секунда
256 мегабайтів
Середня

Нещодавно Козаку подарували масив з цілих чисел.

Вус одразу захотів впорядкувати елементи масиву таким чином, щоб будь-які сусідні числа в масиві були різні. Серед усіх таких впорядкувань він хоче знайти лексикографічно найменше.

Нагадаємо, що лексикографічний порядок задається наступним чином. Нехай маємо два масиви. Знайдемо першу позицію, у якій елементи двох масивів відрізняються. Тоді якщо на цій позиції елемент першого масиву менший за елемент другого, то перший масив лексикографічно менший за другий, інакше — навпаки, перший масив більший за другий. Наприклад, виконуються наступні нерівності: [10, 3, 1] < [10, 4, 5], [1, 1, 1] < [1, 2, 3], [1, 2, 3] < [10, 10, 10].

Вхідні дані

Перший рядок містить ціле число (1 \leq n \leq 5 \cdot 10^5) — кількість елементів масиву.

Другий рядок містить цілих чисел a_1, a_2, ..., a_n (1 \leq a_i \leq 5 \cdot 10^5) — елементи масиву.

Вихідні дані

Якщо впорядкувати масив Вуса неможливо, виведіть єдине число .

Інакше виведіть цілих чисел — лексикографічно мінімальне впорядкування масиву Вуса.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Приклад 3

Loading
Loading

Примітка

У першому прикладі існує єдине впорядкування.

У другому прикладі існують й інші впорядкування, наприклад: [1, 2, 3, 4, 1, 2] або [1, 4, 1, 2, 3, 2]. Але всі такі впорядкування лексикографічно більші за [1, 2, 1, 2, 3, 4].

У третьому прикладі правильного впорядкування не існує (в масиві завжди будуть дві одинички на сусідніх позиціях).

Оцінювання

У цій задачі використовується потестове оцінювання. Деякі додаткові обмеження:

  • ( балів): n \leq 10^3, a_i \leq 2

  • ( балів): n \leq 10^3, a_i \leq 3

  • ( балів): n \leq 10^3, a_i \leq 5 \cdot 10^5

  • ( балів): n \leq 5 \cdot 10^5, a_i \leq 2

  • ( балів): n \leq 5 \cdot 10^5, a_i \leq 3

  • ( балів): n \leq 5 \cdot 10^5, a_i \leq 5 \cdot 10^5