#include <bits/stdc++.h>
using namespace std;
void run() {
  long long n, d, h;
  cin >> n >> d >> h;
  if (h * 2 < d) {
    printf("-1\n");
    return;
  }
  if (d == h && d == 1 && n != 2) {
    printf("-1\n");
    return;
  }
  if (d < h) {
    printf("-1\n");
    return;
  }
  long long c = 1;
  for (int i = 0; i < h; i++) {
    printf("%lld %lld\n", c, c + 1);
    c++;
  }
  long long r = d - h;
  long long nc = 1;
  c++;
  for (int i = 0; i < r; i++) {
    printf("%lld %lld\n", nc, c);
    nc = c;
    c++;
  }
  long long base = h;
  for (; c <= n; c++) {
    printf("%lld %lld\n", base, c);
  }
}
int main() {
  cout << fixed << setprecision(16);
  run();
  return 0;
}
