#include <bits/stdc++.h>
using namespace std;
int worker() {
  int n, d, h, c;
  scanf("%d%d%d", &n, &d, &h);
  if (d > (2 * h)) return -1;
  if (d < h) return -1;
  if (n <= d) return -1;
  if (n <= h) return -1;
  if (d == 1) {
    if (n > 2) return -1;
    if (h > 1) return -1;
    cout << "1 2" << endl;
    return 0;
  }
  if (h == 1) {
    c = 2;
    while (c <= n) {
      cout << "1 " << c << endl;
      c++;
    }
    return 0;
  }
  int i;
  c = 1;
  for (i = 0; i < h; i++) {
    cout << c << " " << (c + 1) << endl;
    c++;
  }
  c++;
  d -= h;
  if (d > 0) {
    cout << "1 " << c << endl;
    d--;
    for (i = 0; i < d; i++) {
      cout << c << " " << (c + 1) << endl;
      c++;
    }
    c++;
  }
  while (c <= n) {
    cout << "2 " << c << endl;
    c++;
  }
  return 0;
}
int main() {
  int v = worker();
  if (v == -1) cout << -1 << endl;
  int xx;
  cin >> xx;
  return 0;
}
