#include <bits/stdc++.h>
using namespace std;
int n, d, h;
void solve() {
  if (n == 2) {
    if (d != h)
      cout << -1 << '\n';
    else
      cout << 1 << ' ' << 2 << '\n';
    return;
  }
  if (d > 2 * h || d == 1) {
    cout << -1 << '\n';
    return;
  }
  int cnt = 1;
  while (cnt - 1 < h) {
    cout << cnt << ' ';
    cnt++;
    cout << cnt << '\n';
  }
  if (cnt - 1 < d) {
    cout << 1 << ' ';
    cnt++;
    cout << cnt << '\n';
  }
  while (cnt - 1 < d) {
    cout << cnt << ' ';
    cnt++;
    cout << cnt << '\n';
  }
  while (cnt < n) cout << (d == h) + 1 << ' ' << cnt + 1 << '\n', cnt++;
  return;
}
void inp() {
  cin >> n >> d >> h;
  return;
}
int main() {
  clock_t beg = clock();
  {
    cin.tie(0);
    ios_base::sync_with_stdio(false);
  };
  inp();
  solve();
  clock_t end = clock();
  fprintf(stderr, "%.3f sec\n", (double)(end - beg) / CLOCKS_PER_SEC);
  return 0;
}
