Відновлення перестановки
Сьогодні у школі Кристофер вивчав послідовності та перестановки. Нагадаємо, що перестановкою чисел від 1 до n називається послідовність a_1, ..., a_n, у яку кожне з вказаних чисел входить рівно один раз.
Особливо йому сподобались наступні означення:
Спуском у позиції i у перестановці <a_1, a_2, ..., a_n> називають таку ситуацію, що a_i > a_{i+1};
Нерухомою точкою у позиції i у перестановці <a_1, a_2, ..., a_n> називають такий елемент a_i, що a_i = i.
Взнавши ці означення, він придумав власну перестановку і назвав її перестановкою Робіна.
Назвемо перестановку A = <a_1, a_2, ..., a_2n> з 2n натуральних чисел від 1 до 2n перестановкою Робіна, якщо виконані наступні умови:
A має рівно n спусків, і усі її спуски знаходяться на непарних позиціях (тобтоь a_{2i-1} > a_2i < a_{2i+1} для усіх i);
A має рівно n нерухомих точок.
Наприклад, перестановка <3, 2, 6, 4, 5, 1> є перестановкою Робіна.
Кристофер вирішив поділитись своїм відкриттям з Кроликом. Взнавши про перестановку Робіна, Кролик придумав наступне перетворення: видалимо усі нерухомі точки у послідовності і перетворимо вектор, що залишився, у перестановку, замінивши числа, що залишились, на кількість елементів, які не перевищують його у перестановці. Наприклад, перетворення перестановки <3, 2, 6, 4, 5, 1> дає <3, 2, 6, 4, 5, 1> → <3, 6, 1> → <2, 3, 1>.
Кристофер тепер хоче отримати з перетвореної перестановки перестановку Робіна.
Вхідні дані
У першому рядку вхідного файлу задано n - число елементів у перетвореній перестановці (1 ≤ n ≤ 100000). У другому рядку вхідного файлу задано n натуральних чисел - перетворена перестановка.
Вихідні дані
Якщо розв'язків немає, вивести -1 у першому рядку вихідного файлу. Якщо існує перестановка Робіна, то вивести її. Якщо є декілька розв'язків, то вивести довільну перестановку Робіна.