#include <bits/stdc++.h>
using namespace std;
template <typename T>
T sqr(T x) {
  return x * x;
}
void FAIL() {
  cout << -1 << endl;
  exit(0);
}
int main() {
  int n, d, h;
  cin >> n >> d >> h;
  if (d > n - 1 || h > n - 1 || d < h || d > 2 * h) FAIL();
  if (d == 1 && h == 1) {
    if (n != 2) FAIL();
    cout << "1 2" << endl;
    return 0;
  }
  int cur = 1;
  --n;
  for (int i = 0; i < int(h); i++) {
    cout << cur << " " << cur + 1 << endl;
    ++cur;
    --n;
  }
  int from1 = cur - 1;
  for (int i = 0; i < int(d - h); i++) {
    cout << (i ? cur : 1) << " " << cur + 1 << endl;
    ++cur;
    --n;
  }
  ++cur;
  while (n > 0) {
    cout << from1 << " " << cur << endl;
    ++cur;
    --n;
  }
  return 0;
}
