#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, d, h;
  cin >> n >> d >> h;
  if (d == 1) {
    if (n == 2) {
      cout << "1 2" << endl;
    } else {
      cout << -1 << endl;
    }
    return 0;
  }
  int min_h = (d + 1) / 2;
  if (min_h > h) {
    cout << -1 << endl;
    return 0;
  }
  int pos = d - h;
  vector<pair<int, int> > es;
  es.clear();
  for (int i = 0; i < d; ++i) {
    es.push_back(make_pair(i, i + 1));
  }
  for (int i = d + 1; i < n; ++i) {
    es.push_back(make_pair(1, i));
  }
  for (int i = 0; i < (int)es.size(); ++i) {
    if (es[i].first == 0) {
      cout << pos + 1;
    } else {
      if (es[i].first == pos) {
        cout << 1;
      } else {
        cout << es[i].first + 1;
      }
    }
    cout << " ";
    if (es[i].second == 0) {
      cout << pos + 1;
    } else {
      if (es[i].second == pos) {
        cout << 1;
      } else {
        cout << es[i].second + 1;
      }
    }
    cout << "\n";
  }
  return 0;
}
