Lost Civilization

시간 제한1초메모리 제한1024 MB

문제

당신은 잃어버린 문명에 대해 연구하는 고고학자이다. 당신이 연구하고 있는 문명은 다음과 같은 특징을 갖는다.

  • 문명은 $N$개의 도시로 이루어져 있고, 각각의 도시에는 $1$번부터 $N$번까지 번호가 붙어 있다.
  • 문명에는 총 $N-1$개의 양방향 도로가 있다. 각각의 도로는 서로 다른 두 도시를 잇는다.
  • 임의의 두 도시를 고르더라도 둘 사이를 하나 이상의 도로를 통해 왕복할 수 있다.

즉, 잃어버린 문명은 트리 구조를 이루고 있다.

문명에서의 외곽 도시는 연결된 도로의 수가 정확히 하나인 도시로 정의된다. 또한, 도시의 안정성은 그 도시에서부터 가장 가까운 외곽 도시까지의 거리로 정의된다. 이때, 두 도시 사이의 거리는 한 도시에서 다른 도시로 이동하기 위해 지나야 하는 도로 개수의 최솟값으로 정의된다. 정의에 의해, 모든 외곽 도시의 안정성은 $0$이다.

당신은 이 문명에 대한 새로운 가설을 세웠다. 이는 어떤 배열 $[A_1, A_2, \cdots, A_N]$에 대하여, 모든 $1 \le i \le N$에 대해 $i$번 도시의 안전성은 $A_i$ 이상이라는 것이다.

$N$과 $[A_1, A_2, \cdots, A_N]$이 주어졌을 때, 가설을 만족하는 문명이 있는지 판별하고, 만약 존재한다면 조건을 만족하는 아무 문명을 출력하라.

입력

첫 번째 줄에 문명을 이루는 도시의 수를 나타내는 정수 $N$이 주어진다.

두 번째 줄에는 정수 $A_1, A_2, \cdots, A_N$이 순서대로 공백으로 구분되어 주어진다.

출력

만약 주어진 가설을 만족하는 문명이 존재한다면, $N-1$줄에 걸쳐 문명을 구성하는 도로에 대한 정보를 출력해야 한다.

$i$번째 줄에는 두 정수 $a_i$와 $b_i$를 공백을 사이에 두고 출력해야 하는데, 이는 문명에 $a_i$번 도시와 $b_i$번 도시를 연결하는 도로가 있음을 의미한다.

만약 주어진 가설을 만족하는 문명이 존재하지 않을 경우, 첫 줄에 $-1$을 출력해야 한다.

제한

  • $3 \le N \le 100\,000$
  • 모든 $1 \le i \le N$에 대하여 $0 \le A_i \le N$