Восстановление перестановки
Сегодня в школе Кристофер изучал последовательности и перестановки. Напомним, что перестановкой чисел от 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 в первой строке выходного файла. Если существует перестановка Робина, то вывести её. Если несколько решений, то вывести любую перестановку Робина.