#2198. Bear and Forgotten Tree 3

Bear and Forgotten Tree 3

Description

B. Bear and Forgotten Tree 3
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

一棵树是一个由n个顶点和n-1条边组成的连接的无向图。顶点的编号为1至n。

Limak是一只小北极熊,Radewoosh是他的邪恶敌人。利马克曾经有一棵树,但拉迪沃什偷走了它。小熊现在很伤心,因为他不太记得那棵树了--他只能告诉你三个数值n、d和h。

这棵树正好有n个顶点。
树的直径是d。换句话说,d是两个顶点之间的最大距离。
利马克还记得,他曾在顶点1处将树扎根,之后树的高度是h。换句话说,h是顶点1和其他顶点之间的最大距离。
树的两个顶点之间的距离是它们之间简单路径上的边的数量。

帮助利马克恢复他的树。检查是否存在一个满足给定条件的树。找到任何这样的树,并按任何顺序打印它的边。也有可能Limak犯了一个错误,没有合适的树,在这种情况下打印"-1"。

输入
第一行包含三个整数n、d和h(2≤n≤100000,1≤h≤d≤n-1)--分别是顶点的数量、直径和在顶点1生根后的高度。

输出
如果没有与Limak记忆中的树相匹配的树,则打印唯一带有"-1 "的行(不含引号)。

否则,描述任何符合Limak描述的树。打印n-1行,每行有两个空格分隔的整数--由一条边连接的顶点的指数。如果有许多有效的树,就打印其中任何一棵。你可以按任何顺序打印边。

Examples
Input
5 3 2
Output
1 2
1 3
3 4
3 5
Input
8 5 2
Output
-1
Input
8 4 2
Output
4 8
5 7
2 3
8 1
2 1
5 6
1 5
Note

Below you can see trees printed to the output in the first sample and the third sample.

Source

未分类