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

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

1 second
256 megabytes
Hard

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

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

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

Input

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

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

Output

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

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

Examples

Example 1

Loading
Loading

Example 2

Loading
Loading

Example 3

Loading
Loading

Note

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

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

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

Scoring

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

  • ( балів): 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