#include <bits/stdc++.h>
using namespace std;
template <class T>
void show(T a, int n) {
  for (int i = 0; i < n; ++i) cerr << a[i] << ' ';
  cerr << endl;
}
template <class T>
void show(T a, int r, int l) {
  for (int i = 0; i < r; ++i) show(a[i], l);
  cerr << endl;
}
const int INF = 1000 * 1000 * 1000 + 1000 * 1000;
const double EPS = 1e-8;
int main() {
  int n, h, d;
  cin >> n >> d >> h;
  if (n == 2) {
    if (h == 1 && d == 1)
      cout << "1 2\n";
    else
      cout << "-1\n";
    return 0;
  }
  if (d == 1) {
    cout << "-1\n";
    return 0;
  }
  if (2 * h < d) {
    cout << "-1\n";
    return 0;
  }
  if (h == d) {
    for (int i = 1; i <= h; ++i) printf("%d %d\n", i, i + 1);
    for (int j = h + 2; j <= n; ++j) printf("2 %d\n", j);
    return 0;
  }
  for (int i = 1; i <= h; ++i) printf("%d %d\n", i, i + 1);
  printf("1 %d\n", h + 2);
  for (int j = h + 2; j <= d; ++j) printf("%d %d\n", j, j + 1);
  for (int j = d + 2; j <= n; ++j) printf("1 %d\n", j);
  return 0;
}
