#include <bits/stdc++.h>
using namespace std;
inline int read() {
  int x(0), w(1);
  char c = getchar();
  while (c ^ '-' && (c < '0' || c > '9')) c = getchar();
  if (c == '-') w = -1, c = getchar();
  while (c >= '0' && c <= '9') x = (x << 3) + (x << 1) + c - '0', c = getchar();
  return x * w;
}
int n, d, h, cur;
int main() {
  n = read(), d = read(), h = read();
  if (d > 2 * h || d < h) {
    printf("-1");
    return 0;
  }
  if (d == 1 && n > 2) {
    printf("-1");
    return 0;
  }
  cur = 1;
  for (int i = 1; i <= h; ++i) {
    printf("%d %d\n", cur, cur + 1);
    ++cur;
  }
  if (d > h) {
    ++cur;
    printf("%d %d\n", 1, cur);
    for (int i = 1; i < d - h; ++i) {
      printf("%d %d\n", cur, cur + 1);
      ++cur;
    }
  }
  while (cur + 1 <= n) {
    cur++;
    printf("%d %d\n", h, cur);
  }
  return 0;
}
