#include <bits/stdc++.h>
using namespace std;
const double eps = 0.000000000000001;
int main(int argc, char const *argv[]) {
  int n, d, h;
  scanf("%d%d%d", &n, &d, &h);
  ;
  if (d < h || d > 2 * h) {
    printf("-1\n");
    return 0;
  }
  if (d == h && d == 1 && d != (n - 1)) {
    printf("-1\n");
    return 0;
  }
  int i, c = 1;
  for (i = 0; i < h; ++i) {
    printf("%d %d\n", c, c + 1);
    c++;
  }
  if (d == h) {
    c++;
    for (i = c; i <= n; ++i) {
      printf("2 %d\n", i);
    }
  } else {
    ++c;
    printf("1 %d\n", c);
    for (i = 0; i < d - h - 1; ++i) {
      printf("%d %d\n", c, c + 1);
      c++;
    }
    for (i = d + 2; i <= n; ++i) {
      printf("1 %d\n", i);
    }
  }
  return 0;
}
