간선 긋기
Time Limit: 2 SecMemory Limit: 1024 MiB

문제

정점이 개인 그래프가 있다. 각 정점에는 부터 까지 번호가 하나씩 매겨져 있다. 처음에는 간선이 하나도 없었지만, 서로 다른 컴포넌트에 속한 두 정점 사이에 간선을 추가하는 작업을 번 반복하여 연결 그래프로 만들었다.

어떤 간선을 추가했는지는 모르지만, 각 작업에서 합쳐진 두 컴포넌트의 크기는 알 수 있다. 이를 통해 추가된 간선을 순서대로 구해 보자. 가능한 답 중 하나만 구하면 된다.

입력

첫째 줄에 정점의 개수를 뜻하는 정수 이 주어진다.

둘째 줄부터 줄에 걸쳐 작업의 정보가 순서대로 주어진다. 그중 번째 줄에는 번째 작업에서 합쳐진 두 컴포넌트의 크기를 뜻하는 정수 가 공백으로 구분되어 주어진다.

출력

줄에 걸쳐 추가된 간선의 정보를 출력한다. 그중 번째 줄에는 번째 작업에서 추가된 간선의 양 끝 정점 번호를 공백으로 구분하여 출력한다.

만약 조건에 맞게 간선을 추가할 수 없다면 -1만 출력한다.

Example Input 1
5
1 1
1 2
1 1
3 2
Example Output 1
5 4
3 5
2 1
3 2
Example Input 2
10
1 1
1 1
1 1
1 1
2 1
1 3
2 4
2 2
6 4
Example Output 2
10 9
8 7
6 5
4 3
4 2
1 4
6 1
8 10
6 8
Example Input 3
6
1 1
2 1
1 1
1 2
4 2
Example Output 3
-1