#include <bits/stdc++.h>
using namespace std;
int a[100005], n, m, d, h;
int main() {
  int i, j, k;
  while (scanf("%d%d%d", &n, &d, &h) != EOF) {
    if (d > 2 * h) {
      printf("-1\n");
      continue;
    }
    if (d == h) {
      if (d == 1) {
        if (n == 2)
          printf("1 2\n");
        else
          printf("-1\n");
        continue;
      }
      if (d == n - 1) {
        for (i = 1; i < n; i++) printf("%d %d\n", i, i + 1);
        continue;
      } else {
        for (i = 1; i <= h; i++) {
          printf("%d %d\n", i, i + 1);
        }
        i++;
        while (i <= n) printf("2 %d\n", i++);
      }
      continue;
    }
    int x = d - h;
    for (i = 1; i <= h; i++) {
      printf("%d %d\n", i, i + 1);
    }
    i++;
    while (i <= n) {
      printf("1 %d\n", i);
      i++;
      for (j = 1; j < x; j++) {
        if (i > n) break;
        printf("%d %d\n", i - 1, i);
        i++;
      }
    }
  }
  return 0;
}
