#include <bits/stdc++.h>
using namespace std;
int n, d, h;
int main() {
  scanf("%d%d%d", &n, &d, &h);
  bool f = 1;
  if (d > 2 * h || d < h) f = 0;
  if (d == 1 && n != 2) f = 0;
  if (!f) {
    puts("-1");
    return 0;
  }
  int nw = 1;
  for (int i = 1; i <= h; i++) {
    printf("%d %d\n", nw, nw + 1);
    nw++;
  }
  nw++;
  f = 0;
  for (int i = 1; i <= (d - h); i++) {
    f = 1;
    if (i == 1)
      printf("%d %d\n", i, nw);
    else
      printf("%d %d\n", nw, nw + 1), nw++;
  }
  if (f) nw++;
  int rt = 1;
  if (d == h) rt = 2;
  while (nw <= n) printf("%d %d\n", rt, nw++);
  return 0;
}
