#include <bits/stdc++.h>
using namespace std;
int scale(char c) {
  if (c <= '9' && c >= '0') return c - '0';
  if (c <= 'Z' && c >= 'A') return c - 'A' + 1;
  return c - 'a' + 1;
}
int main() {
  int n, d, h;
  cin >> n >> d >> h;
  if (2 * h < d || (n > 2 && d == 1)) return !printf("-1");
  for (int i = 2; i <= h + 1; ++i) printf("%d %d\n", i - 1, i);
  for (int i = h + 2; i <= d + 1; ++i)
    printf("%d %d\n", (i == h + 2) ? 1 : i - 1, i);
  for (int i = d + 2; i <= n; ++i) printf("%d %d\n", (d != h) ? 1 : 2, i);
  return 0;
}
