Шоу фейерверков

Ограничение по времени: 3.000 секунд

Ограничение по памяти: 500.000 мегабайт

На новый год планируется грандиозный фейерверк, во время которого должны запустить n разноцветных ракет, каждая из которых взорвется в небе уникальным рисунком. Чтобы фейерверк получился максимально ярким, в каждую из n ракет положили два заряда одинакового вида (один заряд лежит строго под другим, нельзя достать нижний, не достав сначала верхний).

Сегодня пиротехник решил проверить готовность ракет и с ужасом обнаружил, что какой-то шутник перемешал некоторые заряды местами — теперь в некоторых ракетах находятся заряды разных видов, и при их запуске не получатся красивые узоры! Однако общий состав фейерверка не изменился — во всех ракетах, вместе взятых, все еще по два заряда каждого из n видов.

Теперь пиротехника ждет бессонная ночь, в течение которой он будет перекладывать заряды между ракетами, чтобы снова получить n ракет, в каждой из которых по два заряда одного вида. Для этого в его распоряжении есть еще одна n + 1-я ракета, в которой не лежит ни одного заряда.

За одно действие пиротехник

Поскольку пиротехник не хочет тратить на это слишком много времени, он просит вас помочь ему найти способ получить n ракет с парами одинаковых зарядов за не более чем 2n таких действий.

Формат входных данных

В первой строке дано целое число n — количество ракет, заготовленных для фейерверка (1 ≤ n ≤ 105).

В i-й из следующий n строк дано описание текущего состояния i-й ракеты: через пробел даны xi1 и xi2 — номера нижнего и верхнего зарядов, находящихся в ней (1 ≤ xi1, xi2 ≤ n). Гарантируется, что каждое число от 1 до n встречается ровно дважды в описаниях ракет. Ракета номер n+1 изначально пустая.

Формат выходных данных

В первой строке выводите целое число k — количество действий, которое понадобится пиротехнику (0 ≤ k ≤ 2n).

В следующих k строках выведите описания действий в порядке их следования. Каждое действие описывается номерами ракет (от 1 до n + 1), между которыми следует переложить верхний заряд. Нельзя класть в ракету более двух зарядов и нельзя перекладывать заряд из ракеты в нее же (зачем делать бесполезные действия?).

Обратите внимание, что от вас не требуется минимизировать количество действий — достаточно просто добиться того, чтобы их было не больше 2n.

Пример

input output
3
2 1
3 3
1 2
3
1 4
3 1
4 3
5
1 5
2 3
3 5
4 2
1 4
6
1 6
3 6
2 3
4 2
5 4
5 1
Войдите, что бы отправлять решения