F. Гирлянда своими руками
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Поликарп решил украсить свою комнату перед Новым Годом. Одно из главных украшений — гирлянда, которую он спаяет сам.

Простые гирлянды, в которых несколько лампочек расположены в ряд и соединены одним проводом, слишком скучны для Поликарпа. Он собирается спаять разветвленную гирлянду из $$$n$$$ лампочек и $$$n - 1$$$ провода. Ровно одна лампочка будет подключена к розетке, и от нее по проводам будет передаваться электроэнергия ко всем остальным лампочкам. Каждый провод соединяет ровно две лампочки, причем та из них, от которой будет идти энергия по этому проводу, называется главной, а та, которая получает энергию по этому проводу, называется побочной. Очевидно, для каждой лампочки существует не более одного провода, для которого она является побочной.

У каждой лампочки есть своя яркость, причем яркость $$$i$$$-й лампочки равна $$$2^i$$$. Назовем важностью провода суммарную яркость тех лампочек, которые окажутся отсоединены от источника энергии, если этот провод (и только его) удалить. Естественно, более важные провода должны быть более надежными.

Поликарп нарисовал схему гирлянды, которую он хочет спаять (на схеме указаны все $$$n$$$ лампочек и $$$n - 1$$$ проводов, а также отмечена лампочка, которая будет подключена к электросети; провода расположены так, что энергия может передаваться до всех лампочек). После этого Поликарп посчитал важность каждого провода, пронумеровал их от $$$1$$$ до $$$n - 1$$$ в порядке уменьшения важности, а затем (с учётом новой нумерации проводов) для каждого провода записал номер его главной лампочки.

На следующий день Поликарп купил необходимые провода и решил спаять гирлянду — но, к сожалению, не смог найти схему. Вспомнив, что у него есть список номеров главных лампочек для всех проводов в порядке уменьшения их важности, он решил попытаться восстановить схему гирлянды по этому списку. Можете ли вы помочь ему с восстановлением схемы?

Входные данные

В первой строке задано одно целое число $$$n$$$ ($$$2 \le n \le 2 \cdot 10^5$$$) — количество лампочек.

Во второй строке заданы $$$n - 1$$$ целых чисел $$$a_1$$$, $$$a_2$$$, ..., $$$a_{n - 1}$$$ ($$$1 \le a_i \le n$$$), где $$$a_i$$$ — номер главной лампочки для $$$i$$$-го провода (провода пронумерованы в порядке уменьшения важности).

Выходные данные

Если схему восстановить невозможно, выведите одно целое число: $$$-1$$$.

В противном случае выведите схему следующим образом. В первой строке выведите одно целое число $$$k$$$ ($$$1 \le k \le n$$$) — номер лампочки, подключенной к электросети. Затем выведите $$$n - 1$$$ строк, в каждой из которых должны быть заданы два целых числа $$$x_i$$$ и $$$y_i$$$ ($$$1 \le x_i, y_i \le n$$$, $$$x_i \ne y_i$$$) — номера лампочек, соединенных некоторым проводом. Описания проводов (и номера лампочек, соединенных проводом) могут быть выведены в любом порядке. Вывод должен соответствовать некоторой схеме, по которой Поликарп мог бы выписать список чисел $$$a_1$$$, $$$a_2$$$, ..., $$$a_{n - 1}$$$. Если таких схем несколько, выведите любую из них.

Пример
Входные данные
6
3 6 3 1 5
Выходные данные
3
6 3
6 5
1 3
1 4
5 2
Примечание

Схема для первого примера (R обозначает лампу, подключенную к сети; числа на проводах обозначают их важность):